Rangers goalkeeper Kenny pulled off a superb double save from Wilfried Zaha, before the visitors broke to the other end and Palace stopper Julian Speroni had to be at his best to keep out Mackie's effort.
Neil Warnock's league leaders came even closer to taking the lead when Kaspars Gorkss deflected Helguson's drilled ball across goal and on to the crossbar.
The deadlock was broken three minutes after half-time when Dutch legend Davids under-hit a pass to Kenny, inviting Mackie to round the keeper and square for Taarabt to tap home.
Palace went in pursuit of an equaliser with substitute Anthony Gardner, Zaha and Calvin Andrew also going close.
The goal arrived two minutes from time when Zaha eluded Clint Hill with a superb piece of skill and crossed for Cadogan to smash the ball past Kenny.
But Rangers are making a habit of winning and Helguson's late intervention ensured a happy return for Warnock to his former club and kept QPR on course for a return to the top flight after 15 years.
Live text and stats
Saturday, 2 October 2010
01 Speroni yellow card
11 Dorman yellow card (Andrew 79)
20 Davids (Gardner 56)
32 Counago (Cadogan 46)
03 Hill yellow card
07 Taarabt (Smith 72)
10 Buzsaky (Leigertwood 83)
25 Ephraim yellow card
Ref: FriendAtt: 17,171
Attempts on target
Attempts off target
90:00+5:32 The final whistle is blown by the referee.
90:00+4:23 Centre by Calvin Andrew.
90:00+3:14 Booking Caution for Julian Speroni.
90:00+2:20 Tommy Smith provided the assist for the goal.
90:00+2:20 GOAL - Heidar Helguson:Crystal Palace 1 - 2 QPR Heidar Helguson scores a headed goal from inside the penalty area. Crystal Palace 1-2 QPR.
90:00+1:57 The ball is crossed by Tommy Smith,
89:53 Corner from left by-line taken by Tommy Smith.
88:28 The assist for the goal came from Julian Bennett.
88:28 GOAL - Kieron Cadogan:Crystal Palace 1 - 1 QPR Kieron Cadogan gets on the score sheet with a goal from deep inside the penalty box low into the middle of the goal. Crystal
Palace 1-1 QPR.
88:25 The ball is swung over by Julian Bennett,
87:25 Calvin Andrew has a header from deep inside the six-yard box and clears the crossbar.
86:53 Unfair challenge on Julian Bennett by Heidar Helguson results in a free kick. Owen Garvan takes the free kick.
86:19 Wilfried Zaha decides to take a short corner.
85:27 The ball is swung over by Kieron Cadogan, Clint Hill makes a clearance.
82:35 Substitution Akos Buzsaky goes off and Mikele Leigertwood comes on.
82:35 Calvin Andrew concedes a free kick for a foul on Kaspars Gorkss. Direct free kick taken by Patrick Kenny.
78:43 Centre by Owen Garvan, blocked by Kaspars Gorkss. Corner taken left-footed by Owen Garvan. Free kick awarded for an unfair
challenge on Alex Marrow by Hogan Ephraim. Direct free kick taken by Julian Speroni.
78:43 Substitution Calvin Andrew joins the action as a substitute, replacing Andy Dorman.
78:43 Akos Buzsaky challenges Kieran Djilali unfairly and gives away a free kick.
76:10 Corner taken by Akos Buzsaky from the right by-line.
72:51 Jamie Mackie fouled by Owen Garvan, the ref awards a free kick. Strike on goal comes in from Akos Buzsaky from the free kick,
save made by Patrick Kenny.
71:58 Substitution (QPR) makes a substitution, with Tommy Smith coming on for Adel Taarabt.
71:04 Corner taken by Owen Garvan, Matthew Connolly makes a clearance.
Correction - 67:45 Corner taken by Andy Dorman played to the near post.
67:45 Andy Dorman takes a inswinging corner.
67:37 The ball is sent over by Alex Marrow, clearance by Matthew Connolly.
66:33 Owen Garvan takes a shot. Blocked by Kaspars Gorkss.
65:41 Booking Clint Hill goes into the referee's book for unsporting behaviour.
64:57 Free kick awarded for a foul by Akos Buzsaky on Wilfried Zaha. Patrick McCarthy takes the free kick.
64:24 Alex Marrow concedes a free kick for a foul on Adel Taarabt. Akos Buzsaky takes the direct free kick.
63:08 Inswinging corner taken right-footed by Adel Taarabt from the left by-line, Andy Dorman makes a clearance.
62:27 Effort from 30 yards by Heidar Helguson. Save by Julian Speroni.
62:01 Kaspars Gorkss concedes a free kick for a foul on Wilfried Zaha. Patrick McCarthy takes the free kick.
60:17 Adel Taarabt takes a inswinging corner from the left by-line played to the near post, save by Julian Speroni.
59:37 The referee blows for offside against Kieran Djilali. Kyle Walker restarts play with the free kick.
59:12 Akos Buzsaky concedes a free kick for a foul on Owen Garvan. Julian Bennett restarts play with the free kick.
57:55 Owen Garvan challenges Shaun Derry unfairly and gives away a free kick. Direct free kick taken by Patrick Kenny.
57:02 Outswinging corner taken right-footed by Adel Taarabt, Close range header by Heidar Helguson misses to the right of the target.
55:22 Substitution Edgar Davids leaves the field to be replaced by Anthony Gardner.
Correction - 49:32 The ball is sent over by Kieran Djilali, Effort from 12 yards by Owen Garvan. Blocked by Matthew Connolly. Inswinging corner
taken by Adel Taarabt, Heidar Helguson is ruled offside. Julian Speroni takes the free kick. Alex Marrow makes a clearance.
Free kick awarded for a foul by Wilfried Zaha on Adel Taarabt. Direct free kick taken by Clint Hill.
49:32 Kieran Djilali crosses the ball, Shot by Owen Garvan. Blocked by Matthew Connolly. Corner taken right-footed by Adel Taarabt
from the left by-line, Heidar Helguson is ruled offside. Julian Speroni restarts play with the free kick. Clearance made by
Alex Marrow. Free kick awarded for an unfair challenge on Adel Taarabt by Wilfried Zaha. Clint Hill takes the free kick.
48:13 Assist by Jamie Mackie.
48:13 GOAL - Adel Taarabt:Crystal Palace 0 - 1 QPR Adel Taarabt scores a goal from close in to the bottom right corner of the goal. Crystal Palace 0-1 QPR.
46:18 Lobbed right-footed shot by Adel Taarabt. Comfortable save by Julian Speroni.
45:01 The referee blows his whistle to start the second half.
45:01 Substitution Kieron Cadogan comes on in place of Pablo Counago.
45:00+2:46 It is the end of the first-half.
44:43 Andy Dorman takes a shot. Julian Bennett takes a shot. Inswinging corner taken right-footed by Andy Dorman from the left by-line.
43:05 Akos Buzsaky gives away a free kick for an unfair challenge on Wilfried Zaha. Patrick McCarthy takes the free kick.
41:47 Short corner taken by Adel Taarabt from the left by-line. The ball is crossed by Heidar Helguson, Header by Kaspars Gorkss
from inside the area hits the post.
40:00 Adel Taarabt takes the direct free kick.
40:00 Booking Andy Dorman is shown a yellow card for unsporting behaviour.
39:47 Andy Dorman gives away a free kick for an unfair challenge on Adel Taarabt.
34:55 Shot by Adel Taarabt from just outside the area goes over the net.
34:16 A cross is delivered by Hogan Ephraim, clearance made by Julian Bennett.
29:22 The ball is sent over by Kieran Djilali, Pablo Counago produces a header from deep inside the six-yard box which goes wide
of the right-hand post.
27:09 Free kick awarded for an unfair challenge on Kyle Walker by Wilfried Zaha. Patrick Kenny restarts play with the free kick.
24:55 Corner taken by Hogan Ephraim from the right by-line, Heidar Helguson has a headed effort at goal from deep inside the area
missing to the right of the target.
24:19 Foul by Pablo Counago on Matthew Connolly, free kick awarded. Direct free kick taken by Patrick Kenny.
22:29 A cross is delivered by Hogan Ephraim, Julian Speroni makes a save.
20:48 The official flags Heidar Helguson offside. Julian Speroni takes the indirect free kick.
17:57 Free kick crossed right-footed by Andy Dorman, clearance made by Kaspars Gorkss. Inswinging corner taken by Owen Garvan, Kaspars
Gorkss makes a clearance.
17:57 Booking Hogan Ephraim receives a caution.
17:49 Unfair challenge on Julian Bennett by Hogan Ephraim results in a free kick.
16:30 Kieran Djilali produces a right-footed shot from just outside the box that goes wide right of the target.
13:47 Centre by Pablo Counago, Matthew Connolly manages to make a clearance.
12:00 Adel Taarabt takes the inswinging corner, save by Julian Speroni.
7:40 Corner taken by Akos Buzsaky from the left by-line, save by Julian Speroni. Wilfried Zaha takes a shot. Save by Patrick Kenny.
Wilfried Zaha takes a shot. Patrick Kenny makes a save. Akos Buzsaky takes a inswinging corner. Andy Dorman takes a short
corner. Adel Taarabt takes a shot. Patrick Kenny makes a save. Heidar Helguson takes a shot. Save made by Julian Speroni.
3:30 Shot by Owen Garvan from inside the area bounces off the post.
2:36 Matthew Connolly concedes a free kick for a foul on Owen Garvan. Owen Garvan takes the free kick.
2:13 Foul by Akos Buzsaky on Nathaniel Clyne, free kick awarded. Direct free kick taken by Nathaniel Clyne.
0:00 The ref blows the whistle to start the match.
Live text and data provided by The Press Association.
This page is best viewed in an up-to-date web browser with style sheets (CSS) enabled. While you will be able to view the content of this page in your current browser, you will not be able to get the full visual experience. Please consider upgrading your browser software or enabling style sheets (CSS) if you are able to do so.