This problem happened when car returned from service.
It was caused by the wire connected to the mass airflow sensor (right behind the airfilter) being disconnected and not plugged back in again.
I plugged wire in again and cruise control now works perfectly.
I believe this problem can also be caused by a faulty mass airflow sensor .
Hope this is useful