QPR impressed in the first half and it would be difficult to argue that they didn't deserve a 1-0 lead at half-time.
Andre Villas-Boas changed things around during the interval, essentially allowing Gareth Bale to push forward into his left wing role after starting at left-back for injured Kyle Naughton and pushing Clint Dempsey further forward - and the players responded in style.
There was a stroke of luck as Alejandro Faurlin diverted the ball into his own net for the equaliser on the hour.
But the tide had turned by then and the next attack produced the winning goal, inspired by the excellent Jan Vertonghen and finished by Jermain Defoe after Bale's shot had been deflected onto the crossbar by Julio Cesar.
The starting line-up showed three changes to Thursday night's draw against Lazio in the Europa League.
Brad Friedel was back in goal for Hugo Lloris, William Gallas came in for Steven Caulker and with Kyle Naughton injured, Bale reverted to left-back with Gylfi Sigurdsson taking the central role in the forward midfield three.
QPR suffered an early blow as Jose Bosingwa limped off in the second minute, replaced by Kieron Dyer, who went to right-back with Nedum Ohuoha switching sides to the left.
That change didn't hamper the visitors too badly though as they created a number of chances before taking the lead.
Friedel was at his best to deny Clint Hill's bullet header from Esteban Granero's corner in the fifth minute - arguably his best save - before flinging himself to his left to keep out Junior Hoilett's volley.
At the other end, Defoe dragged wide from 22 yards but it wasn't long before Rangers went ahead. A corner broke to Faurlin on the right corner of the box and he feigned to shoot before rolling the ball into Bobby Zamora, who lifted over the advancing Friedel.
The goalkeeper was there again to turn away Hoilett's 30-yard strike and the team went down the tunnel at half-time with plenty to do.
Andre Villas-Boas rung the changes at the interval. Steven Caulker came on for Sigurdsson and took his place alongside Gallas, with vertonghen moving over to left-back.
That allowed Bale to move back to his more familiar left wing role while Dempsey took Sigurdsson's central position playing off Defoe.
The changes certainly sparked an improvement and we'd tested Cesar twice - Dempsey from distance, Caulker's downward header clawed away - by the time we equalised.
It all started from a 60-yard dash from Aaron Lennon and his attempted cross blocked by Onuoha for a corner.
Bale floated in the corner, Caulker won a big header at the far post, Defoe tried to get onto it but the ball cleared him and hit Faurlin, diverting it past Cesar.
Seconds later and it was 2-1 and the roof raised at the Lane. Vertonghen broke from deep and reached the edge of the box when he slipped the ball into Bale's path. His shot was deflected up onto the crossbar by Cesar and the ball bounced straight to Defoe, who simply wasn't go to miss from close range.
The team was back in full flow now. Dempsey fired wide, Bale's cross-shot somehow stayed out and Dempsey poked straight at Cesar after Caulker got onto another corner.
At the other end, key challenges from Kyle Walker and particularly Vertonghen to deny Hoilett kept Rangers at bay and we looked the more likely to add to our tally on the break as Cesar did well to keep out Bale and then Defoe in injury time.
Spurs: Friedel; Walker, Gallas, Vertonghen, Bale; Dembele, Sandro; Lennon (Townsend, 90+4), Sigurdsson (Caulker, 46), Dempsey (Huddlestone, 88); Defoe. Unused subs: Lloris, Dawson, Falque, Mason.
QPR: Cesar; Onuoha, Nelsen, Hill, Bosingwa (Dyer, 3); Wright-Phillips (Mackie, 77), Granero, Faurlin, Park; Hoilett, Zamora (Cisse, 74). Unused subs: Green, Diakite, Derry, Ehmer.
Yellow cards: QPR - Granero (88).
Goals: Spurs - Faurlin (own goal, 60), Defoe 61. QPR - Zamora (33).
Referee: Mr P Dowd.