Three time Olympic champion Kenenisa Bekele has won the Berlin marathon, missing out on the world record by six seconds.

Bekele attacked world record holder Wilson Kipsang with just over one kilometre remaining to win in two hours, three minutes and three seconds, taking two minutes off his personal best.

Bekele's time is the second best of all time.

The women's race also went to Ethiopia as Aberu Kebede claimed a record-tying third victory in Berlin.