The top four runners in each of the initial six heats automatically qualified for the second round. The next eight fastest runners from across the heats also qualified. Those 32 runners competed in 4 heats in the second round, with the top three runners from each heat and the four next fastest runners qualifying for the semifinals. There were two semifinal heats, and only the top four from each heat advanced to the final.
Ladji Doucouré was the leader in all of the preliminary rounds, but in the final, Liu Xiang led from the gun, running a flawless race to take the Olympic record and equal Colin Jackson's World record with a 12.91. Behind him, returning silver medalist Terrence Trammell had a slight lead despite touching virtually every hurdle. As the attrition from dragging each weighted barrier slowed him more and more, Staņislavs Olijars appeared to edge ahead. But when Olijars hit the sixth hurdle he slowed out of contention. Coming back from an abysmal start, Doucouré became the next to edge ahead, looking like a lock for silver until he demolished the final hurdle, leaving Doucouré to stumble across the finish in dead last. A wall of Trammell, Olijars, Maurice Wignall and defending champion Anier García desperately leaning from 5 meters out, all hit the finish line at almost the same time. Trammell's perfectly timed dip edged García, to give him his second successive silver.
The qualification period for Athletics was 1 January 2003 to 9 August 2004. For the men's 110 metres hurdles, each National Olympic Committee was permitted to enter up to three athletes that had run the race in 13.55 seconds or faster during the qualification period. If an NOC had no athletes that qualified under that standard, one athlete that had run the race in 13.72 seconds or faster could be entered.
All times shown are in seconds. Q denotes qualification by place. q denotes qualification by time. DNS denotes did not start. DNF denotes did not finish. OR denotes Olympic record AR denotes area record NR denotes national record. PB denotes personal best. SB denotes season best.