Kenya's Eliud Kipchoge won a dramatic sprint finish to claim the 5,000m title and deny Hicham El Guerrouj a remarkable double. El Guerrouj won his fourth consecutive 1,500m world title on Wednesday and was looking to add the 5,000m gold.
But 18-year-old Kipchoge, the junior world record holder, overtook the Moroccan on the home straight and edged home in 12 minutes 52.79 seconds.
Ethopian Kenenisa Bekele, who won the 10,000m last Sunday, tried to upset El Guerrouj's rhythm by setting a fast pace in the early stages.
But he could not bring the field with him and, after a succession of slow laps, El Guerrouj moved to the front with 1,000m remaining.
He looked to be on course for victory when he stretched to a lead of five metres coming round the final bend, but Kipchoge and Bekele hauled him back.
And with the finish line in sight it was the young Kenyan who had the greater strength, dipping to win by just four hundredths of a second from El Guerrouj.
1. Eliud Kipchoge (Ken) 12mins 52.79secs
2. Hicham El Guerrouj (Mor) 12:52.83
3. Kenenisa Bekele (Eth) 12:53.12
4. John Kibowen (Ken) 12:54.07
5. Abraham Chebii (Ken) 12:57.74
6. Gebre-Egziabher Gebremariam (Eth) 12:58.08
7. Richard Limo (Ken) 13:01.13
8. Zersenay Tadesse (Eri) 13:05.57
9. Juan Carlos de la Ossa (Spa) 13:21.04
10. Abderrahim Goumri (Mor) 13:23.67
11. Abiyote Abate (Eth) 13:23.81
12. Alejandro Surez (Mex) 13:24.51
13. Christian Belz (Swi) 13:26.02
14. Moukheld Al-Outaibi (Ksa) 13:38.92
15. Jorge Torres (USA) 13:43.37