Kenya's Paul Tergat won the New York marathon, finishing a metre ahead of defending champion Hendrick Ramaala.
Tergat fought a neck-and-neck battle with his South African rival over the last 400 metres.
It looked like Ramaala was set for another victory but Tergat edged ahead.
Eritrean-born Meb Keflezighi, who became an American citizen in 1998, finished third after falling off the pace in the last two miles.
Latvia's Jelena Prokopcuka, fifth last year, saw off the challenge of Susan Chepkemei to win the women's event.
Prokopcuka clocked a time of two hours 24 minutes 39 seconds, with Chepkemei finishing runner-up for a third time and Ethiopia's Derartu Tulu third.
The 29-year-old Latvian appeared to fall out of contention with five miles of the race remaining but powered back to claim the world's biggest pay cheque for a women's marathon of £75,000.