check the wiring on all the sensors in the engine bay. MAF, ecu temp sensor, hall sensor, intake air temp sensor, oil pressure sensor, clean the throttle body wi petrol or carb cleaner, change relays 30 & 167 in the fusebox (pos 3 & 12, ecu power and fuel pump respectively), also cracked coil possible,
Relays fail, and sensor wires get chafed or crack wi heat in the engine bay.
My 8v does this too but i recently had a timing belt fitted and it won't rev over 5k now so the timing belt is 1 tooth out according to Boneybradley (he is good for info) and may also be causing my lumpy idle, and cutting out probs.
Boneybradley has put up pics of the engine bay wi arrows showing sensor locations. search for posts by him / "engine pics"
This fault is as common as cats piss and a lot of people struggle with it but be methodical and thorough and im sure you will find it. Do as much by yourself as you can cos a lot of peeps get ripped for dough by garages changing stuff willy-nilly. Then the fault returns...
get relays from a scrapper or buy new (£8 to £12) and change them, and check EVERY wire in the engine bay one by one. Unplug the MAF and see if it runs ok then, but my fav for starting then cutting out repeatedly is the fuel pump relay no.167 at pos 12 in the fusebox. Good luck!