Rob Green: 8
Had to be alert to keep out George Thorne's first-half free-kick and produced a string of saves after the break to keep Derby at bay.
Danny Simpson: 7
Didn't get forward as much as usual but stood firm in defence.
Richard Dunne: 8
Rock-soild at the heart of QPR defence to bag the man-of-the-match award.
Nedum Onuoha: 7
Gave away possession in the lead up to O'Neil's red, but dealt with everything Derby had to throw at them.
Clint Hill: 6
Steady performance from the QPR skipper. Sacrificed in tactical reshuffle following O'Neil's dismissal.
Joey Barton: 6
Driving force from midfield. Barton used his experience after Rangers went down to 10 men.
Gary O'Neil: 4
Sent-off on the hour mark for a trip on Derby's Johnny Russell. Zamora's late winner got him off the hook.
Junior Hoilett: 6
Started brightly in the first-half but faded as the game wore on.
Niko Kranjcar: 5
The Wembley veteran limped off just after the half-hour mark. Failed to impact the game while on the pitch.
Kevin Doyle: 5
Had very little service and was often isolated in attack. Replaced by Zamora just after half-time.
Charlie Austin: 6
Missed a good chance at the beginning of the second half but did his share of the defensive duties.
Armand Traore: 7
On as a first-half sub for Kranjcar. Reverted to left-back after the break to keep Derby's threat to a minimum.
Bobby Zamora: 8
Came on for Doyle early in the second half and fired the dramatic last-gasp goal to get them promoted.
Karl Henry: 6
Brought on to shore up the midfield after O'Neil's red.