Queens Park Rangers sealed automatic promotion to the First Division at the end of a season Sheffield Wednesday would rather forget.
Both clubs started out as favourites to go up but while the London club, cheered on by a travelling army of 8,000 supporters, finished in style Wednesday are a club in turmoil.
Rangers, needed victory to edge out Bristol City for the second spot, forced the early pace, Martin Rowlands lashing a left-foot shot wide of Kevin Pressman's left-hand post before Jon Shaw was handed a half chance but miscued 15 yards from the goal.
Full-back Derek Geary picked out Mark Robins in the 25th minute. The veteran striker cut inside before spotting Chris Brunt, the 19-year-old midfielder firing a left-foot shot over the top from a tight angle.
The London side, restricted to long-range shots, almost found a way through on 34 minutes, Kevin Gallen turning quickly to finish with a right-foot effort, snatched on the line by the diving Pressman.
Gallen broke the deadlock a minute later, Wednesday's panicky defence failed to clear as Paul Furlong scooped the ball across the face of the goal and Gallen stabbed home from close range for his 17th of the season.
Gareth Ainsworth almost grabbed a second minutes later with a fierce strike, the ball flashing inches wide of the far post before Furlong drilled his right-foot effort narrowly wide from a Gallen cross.
Furlong added the second in the 48th minute, midfielder Marc Bircham crossing from the right as Furlong turned to stab the ball past Pressman from 12 yards.
Brunt scooped a free-kick high over the Rangers bar before Shaw produced a spectacular goal in the 60th minute. Lewis McMahon threaded the ball to the young striker who beat Lee Camp with a stinging shot from the edge of the area.
Shaw almost snatched an equaliser before Rangers could relax. Rowlands curled in a teasing cross from the left and centre-back Chris Carr, on at half-time for the injured Dean Smith, turned the ball past Pressman.