The former Spurs midfielder curled beyond Brad Friedel in the 24th minute and Rangers held on, despite going down to 10 men when the goalscorer was sent off for a second bookable offence in the 78th minute.
Paddy Kenny made fine saves to deny Luka Modric and Rafa van der Vaart in the latter stages, but you just somehow felt it wasn't going to be our day once Taarabt's free-kick hit the back of the net.
The result means Newcastle have moved above us in the race to finish in the Premier League's top four and Champions League qualification.
Newcastle beat Stoke 3-0 in Saturday's 3pm kick-off, while the early match saw Arsenal and Chelsea draw 0-0 at the Emirates.
With four games remaining, we're three points behind Newcastle and ahead of Chelsea by a point.
Harry Redknapp made three changes from the team that started at Wembley last weekend.
Friedel was back in goal to make his 300th consecutive start in the Premier League with Sandro in for Aaron Lennon and Jermain Defoe up front in the absence of Emmanuel Adebayor.
QPR started well as a couple of bursts from Jamie Mackie and Samba Diakite ended with shots off target.
Kenny made his first saves to tip over Gareth Bale's header and clutch van der Vaart's shot at full stretch midway through the half.
The key moment arrived in the 24th minute. Sandro was penalised for a harsh handball and Taarabt curled the free-kick up and over the wall and into the bottom left corner.
It's safe to say it was one-way traffic in terms of chances and possession from there.
Kenny did well to palm out van der Vaart's piledriver and Defoe tried to loop the rebound over the recovering goalkeeper, only to head onto the roof of the net.
Lennon entered the fray for Sandro at half-time and we were soon on the offensive as Defoe dragged a volley wide and Bale almost glanced home van der Vaart's free-kick.
Danny Rose replaced Benoit Assou-Ekotto and soon made a fine block to deny Bobby Zamora on a rare QPR break.
We just needed something to fall for us as we pushed on.
Van der Vaart blasted over from 12 yards and then QPR were reduced to 10 men as Taarabt received a second yellow for kicking the ball away.
Kenny palmed away Modric's effort to his left and then repeated the trick from van der Vaart in the final minute.
A couple of scrambles came to nothing as QPR held firm for their win - adding us to the scalps of Chelsea, Liverpool and Arsenal at Loftus Road.
QPR: Kenny; Onuoha, Ferdindand, Hill, Taiwo; Barton, Diakite (Buzsaky, 69), Derry; Mackie, Zamora, Taarabt. Unused subs: Cerny, Gabbidon, Traore, Helguson, Cisse, Wright-Phillips.
Spurs (4-2-3-1): Friedel; Walker, Gallas, King, Assou-Ekotto (Rose, 66); Parker (Giovani, 83), Sandro (Lennon, 56); Modric, van der Vaart, Bale; Defoe. Unused subs: Cudicini, Khumalo, Smith, Livermore.
Goals: QPR - Taarabt (24).
Referee: Mr M Clattenburg.