Millwall have stunned Championship leaders Queens Park Rangers 2-0 at home on Tuesday, while Norwich City edged closer to promotion.QPR, who had gone unbeaten through their last 11 league matches, saw lead their lead at the top of the table cut to seven points as Swansea City drew 1-1 against Watford, while fellow top six sides Cardiff City and Nottingham Forest both fell to their second straight losses.Mid-table battlers Millwall nabbed two second-half goals to surprise QPR at The Den, beginning with Steve Morison, who loped into the box and drilled a low strike beyond goalkeeper Paddy Kenny in the 63rd minute.Liam Trotter doubled the hosts' advantage from the spot 10 minutes later, after Nigerian defender Danny Shittu tripped Morison and saw red for his efforts.The unlikely victory, Millwall's first in six games, keeps them 12th on the table with 50 points, nine points away from the promotion play-off spots.Elsewhere, Norwich capitalised on Swansea's loss by defeating Leicester City 3-2 and joining the second-place side on 63 points.Wesley Hoolahan and Richard Wellens traded early goals to leave the game poised at 1-1 at the break, but a Grant Holt penalty goal and Aaron Wilbraham's first for Norwich ensured the visitors took the points.Swansea can thank their superior goal difference for keeping them in second after they drew 1-1 at home with Watford, who had forward Danny Graham to thank for cancelling out Stephen Dobbie's opening goal. Cardiff City fell to fourth with a second straight loss, going down 1-0 at relegation-threatened Crystal Palace, and Forest dropped to sixth as they were felled 2-1 by lowly Sheffield United, who had lost four in a row.Their losses were a welcome boost for Leeds United, who rose to fifth and within three points of second place with a 2-1 win at Preston North End, while Burnley's good form continued with a 1-0 result at Hull City to remain in touch with the top six.In other results, Reading trumped Ipswich Town 3-1, Bristol City defeated Portsmouth 2-1 and Derby County fell 2-1 at Middlesbrough, Coventry City were held 1-1 at Doncaster Rovers and Barnsley overran Scunthorpe United 2-1.