(CNN) -- Steven Kiprotich of Uganda won the Olympic men's marathon with a time of 2:08:01 on Sunday, coming just shy of breaking the Olympic record time after a dramatic race where he had to fight his way past Wilson Kiprotich and Abel Kirui of Kenya, who worked together to try to box him in as the race went past London's most famous landmarks.