Makau, 26, finished in 2hr 03min 38 sec, winning for a second time in a row and smashing the 2008 record set by Ethiopian legend Heile Gebrselassie by 21 seconds.
Gebrselassie, 38, was left behind on the 27th kilometre and was unable to recover, even stopping for a short while before continuing but failing to finish.
He was followed to the finish line by two more Kenyan runners – Kwelio Chemlany taking a time of 2hr 07min 55 sec, and Edwin Kimaiyo at 2hr 09min 50sec.
Kiplagat, just 24, also stunned observers by winning the women's race in only her second ever marathon, with 2hr, 19min, 43sec.
She was followed by Germany's Irina Mikitenko, who had won in 2008, with a time of 2hr 22min 19min, and then world record holder Paula Radcliffe from the UK, who has not run a marathon for nearly two years but managed a time of 2hr 23min 47sec.