Jamie Mackie cancelled out Danny Graham's first-half goal to secure a point for QPR in a gripping game at the Liberty Stadium.
Mackie was alert to pounce on Leon Britton's poor header from Paddy Kenny's long clearance on 58 minutes.
Graham's exquisite first-half strike had given Swansea the lead, although QPR claimed he handled the ball.
Swansea were denied a penalty when Graham was felled in the area while Michel Vorm saved from Adel Taraabt.
With the sides hovering precariously above the relegation zone, both went for the win.
The draw ensured that QPR, who next travel to Arsenal, ended a sequence of three defeats. But it meant that the Swans have now won just once in their last eight games.
Early on, it was the visitors, with Adel Taarabt in their starting line-up, who set about their task with purpose.
A cross from Joey Barton caused problems for the Swansea defence with headers from Heidar Helguson and Mackie putting pressure on in-form Swansea keeper Vorm.
Swansea were slowly finding their rhythm with Graham wasting a half chance following the game's first corner and then failing to connect with Wayne Routledge's cross.
But on 17 minutes another Routledge cross found Graham, who controlled the ball on the edge on the area before turning and firing low into the bottom left-hand corner, a quality finish for his sixth goal of the season.
Rangers, in particular manager Neil Warnock, felt aggrieved the goal was allowed to stand, arguing that Graham had controlled the ball with his arm before shooting.
SWANSEA v QPR FACTS
- This was the first meeting between Swansea and QPR in English football's top flight
- Four of Danny Graham's six league goals this season have been scored at the Liberty Stadium
Graham, a QPR target in the summer before opting to leave Watford for Swansea, was denied a second goal when, following a cross from Scott Sinclair, his effort was blocked by Clint Hill.
At the other end Vorm was forced to make an acrobatic save to deny Barton's long-range effort after Swansea had failed to clear following Taarabt's free-kick.
It was developing into an end-to-end encounter and as the first half came to an close Helguson headed two successive efforts over the crossbar.
If Swansea had the better of the opening half, it was the visitors who controlled the early stages of the second with Taarabt, who scored twice in QPR's 4-0 Boxing Day thrashing of Swansea last season, firing a volley wide.
In response, good work from Joe Allen created an opportunity for Routledge, but the former QPR man could only toe-poke the ball wide of the post.
That was to be Routledge's final contribution as he was replaced by Nathan Dyer with Luke Moore replacing Angel Rangel, who had been injured during the first half.
But within a minute of the double substitution, Swansea were caught napping with the alert Mackie levelling for the visitors.
He pounced on a poor header by Britton following Kenny's long clearance - the midfielder directed the ball dangerously towards his own goal - and the Scotland international brushed off the challenge of Ashley Williams to fire past Vorm.
Mackie, who had scored in the previous game against Sunderland, continued to cause problems and it was only the quick response of Vorm coming off his line which halted his run.
Swansea felt they should have been awarded a penalty on 73 minutes when Graham fell under the challenge of Armand Traore, but referee Lee Probert waved away their protests.
Vorm was forced into another good save when he tipped Taarabt's curling effort round the post before Williams had to head clear Traore's cross.
Sorry, we were unable to load match stats, please try again.
Live Text Commentary
Full Time The final whistle is blown by the referee.90:00 +2:48
A cross is delivered by Ashley Richards.90:00 +0:19
Free kick taken by Kemy Agustien.90:00 +0:19 Booking
Booking Adel Taarabt receives a caution.90:00 +0:08
Unfair challenge on Nathan Dyer by Alejandro Faurlin results in a free kick.89:41
Leon Britton fouled by Heidar Helguson, the ref awards a free kick. Ashley Williams takes the direct free kick.87:55
A cross is delivered by Luke Young, clearance made by Ashley Williams.87:03
Leon Britton crosses the ball, clearance made by Shaun Derry.86:22
Adel Taarabt sends in a cross, clearance made by Danny Graham.85:45
Inswinging corner taken by Adel Taarabt, clearance made by Steven Caulker.84:34
Unfair challenge on Fitz Hall by Danny Graham results in a free kick. Free kick taken by Patrick Kenny.83:52
Armand Traore concedes a free kick for a foul on Danny Graham. Direct free kick taken by Kemy Agustien.82:46
Adel Taarabt fouled by Joe Allen, the ref awards a free kick. Luke Young takes the free kick.82:27
Free kick awarded for a foul by Joey Barton on Nathan Dyer. Direct free kick taken by Ashley Richards.79:31
Free kick awarded for a foul by Luke Young on Scott Sinclair. The free kick is delivered right-footed by Joe Allen from left wing, save by Patrick Kenny.78:35
Foul by Alejandro Faurlin on Nathan Dyer, free kick awarded. Direct free kick taken by Kemy Agustien.78:26
A cross is delivered by Joey Barton, clearance made by Ashley Williams.77:06
Outswinging corner taken right-footed by Adel Taarabt played to the near post, Headed effort on goal by Clint Hill from inside the penalty box misses to the right of the target.77:00
Armand Traore crosses the ball, Ashley Williams manages to make a clearance.74:55
Shot by Alejandro Faurlin from just outside the area goes over the net.
Luke Young crosses the ball, Ashley Williams makes a clearance.74:08
Outswinging corner taken right-footed by Adel Taarabt from the right by-line to the near post, Steven Caulker manages to make a clearance.74:03
The ball is crossed by Adel Taarabt, Scott Sinclair gets a block in.73:20
Adel Taarabt takes the outswinging corner, Luke Moore makes a clearance.73:07
Shot by Adel Taarabt. Save by Michel Vorm.70:15
Kemy Agustien has a drilled shot. Blocked by Armand Traore.69:26
Adel Taarabt takes a shot from 20 yards. Blocked by Steven Caulker.68:35
The ball is crossed by Joe Allen.68:04
Short corner taken by Joe Allen from the right by-line.66:50
Shaun Derry concedes a free kick for a foul on Luke Moore. Direct free kick taken by Leon Britton.65:54
The assistant referee flags for offside against Jamie Mackie. Indirect free kick taken by Michel Vorm.64:02
Michel Vorm takes the direct free kick.64:02 Booking
Booking Joey Barton booked for unsporting behaviour.63:30
Free kick awarded for an unfair challenge on Ashley Richards by Joey Barton.62:44
Nathan Dyer challenges Armand Traore unfairly and gives away a free kick. Direct free kick taken by Patrick Kenny.62:35
Nathan Dyer crosses the ball, Fitz Hall makes a clearance.58:33
Free kick awarded for an unfair challenge on Luke Moore by Alejandro Faurlin. Free kick taken by Luke Moore.57:14
Assist on the goal came from Patrick Kenny.57:14 Goal scored
Goal! - Jamie Mackie - Swansea 1 - 1 QPR Jamie Mackie finds the net with a goal from inside the penalty box low into the middle of the goal. Swansea 1-1 QPR.56:18 Substitution
Substitution Angel Rangel leaves the field to be replaced by Luke Moore.55:49 Substitution
Substitution Wayne Routledge goes off and Nathan Dyer comes on.55:27
Effort from close in by Wayne Routledge goes wide left of the target.53:29
Corner taken short by Adel Taarabt.53:17
Centre by Armand Traore, Steven Caulker gets a block in.51:27
Alejandro Faurlin has an effort at goal from just outside the box which goes wide of the left-hand upright.50:22
Corner taken left-footed by Alejandro Faurlin from the left by-line, clearance made by Angel Rangel.50:05
Adel Taarabt has an effort at goal from 18 yards. Blocked by Ashley Williams.48:04
The ball is sent over by Wayne Routledge, Clint Hill makes a clearance.46:25
Armand Traore crosses the ball, Ashley Williams makes a clearance.45:33
Shaun Derry gives away a free kick for an unfair challenge on Kemy Agustien. Steven Caulker takes the free kick.45:01
The referee gets the second half started.45:00 +2:03 Half time
Half Time It is the end of the first-half.43:26
Centre by Joey Barton, Headed effort from deep inside the penalty area by Heidar Helguson goes harmlessly over the crossbar.42:48
The referee blows for offside. Indirect free kick taken by Patrick Kenny.42:02
The ball is sent over by Luke Young, Clint Hill has a headed effort from close range and clears the crossbar.41:54
The ball is sent over by Shaun Derry, clearance by Danny Graham.41:31
Outswinging corner taken from the right by-line by Adel Taarabt, clearance by Danny Graham.40:58
Free kick taken by Luke Young.40:58 Booking
Booking Ashley Richards is booked.40:49
Ashley Richards gives away a free kick for an unfair challenge on Joey Barton.40:32
Centre by Scott Sinclair.39:47
Wayne Routledge is ruled offside. Patrick Kenny takes the indirect free kick.37:15
Unfair challenge on Heidar Helguson by Ashley Williams results in a free kick. Free kick crossed by Adel Taarabt.36:10
Effort from 20 yards by Danny Graham. Save made by Patrick Kenny.34:04
Steven Caulker takes the free kick.34:04 Booking
Booking Booking for Clint Hill.33:45
Free kick awarded for a foul by Clint Hill on Angel Rangel.33:16
Corner taken left-footed by Alejandro Faurlin.33:10
The ball is sent over by Adel Taarabt, clearance made by Angel Rangel.33:02
The ball is sent over by Adel Taarabt, clearance by Wayne Routledge.32:37
Outswinging corner taken by Adel Taarabt from the right by-line played to the near post, clearance made by Danny Graham.31:50
A cross is delivered by Ashley Richards, comfortable save by Patrick Kenny.30:42
The ball is delivered by Alejandro Faurlin, Michel Vorm makes a comfortable save.30:05
Inswinging corner taken by Adel Taarabt, Michel Vorm makes a save.27:10
Joe Allen takes a outswinging corner to the near post, clearance by Shaun Derry.26:23
Leon Britton fouled by Jamie Mackie, the ref awards a free kick. Steven Caulker takes the free kick.25:44
The official flags Danny Graham offside. Indirect free kick taken by Patrick Kenny.23:38
Corner taken right-footed by Joe Allen from the left by-line, Close range headed effort by Ashley Williams misses to the right of the goal.23:33
The ball is sent over by Danny Graham, Fitz Hall gets a block in.22:40
Joey Barton takes a shot from 12 yards. Blocked by Steven Caulker.22:24
Inswinging corner taken by Alejandro Faurlin from the right by-line.22:10
Shot by Joey Barton. Save by Michel Vorm.21:51
Adel Taarabt fouled by Kemy Agustien, the ref awards a free kick. Adel Taarabt takes the free kick.21:14
The ball is crossed by Scott Sinclair, clearance made by Armand Traore.18:15
Free kick awarded for an unfair challenge on Heidar Helguson by Ashley Williams. Adel Taarabt crosses the ball in from the free kick, Danny Graham makes a clearance.15:56
Ashley Williams challenges Adel Taarabt unfairly and gives away a free kick. The free kick is delivered right-footed by Adel Taarabt from right wing, Ashley Richards makes a clearance.14:45
Corner taken by Joe Allen from the right by-line, Ashley Williams produces a header from inside the area that goes over the crossbar.13:36
Wayne Routledge provided the assist for the goal.13:36 Goal scored
Goal! - Danny Graham - Swansea 1 - 0 QPR Danny Graham grabs a goal from the edge of the penalty area to the bottom right corner of the goal. Swansea 1-0 QPR.12:04
A cross is delivered by Ashley Richards, Fitz Hall manages to make a clearance.10:34
The ball is swung over by Adel Taarabt, Steven Caulker manages to make a clearance.9:05
The ball is sent over by Wayne Routledge.8:17
Heidar Helguson sends in a cross, Michel Vorm makes a save.7:19
Outswinging corner taken right-footed by Joe Allen played to the near post, Danny Graham takes a shot. Alejandro Faurlin makes a clearance.5:38
The ball is sent over by Joey Barton, Jamie Mackie takes a shot. Save made by Michel Vorm.1:05
Foul by Kemy Agustien on Alejandro Faurlin, free kick awarded. Adel Taarabt delivers the ball from the free kick right-footed from left channel.0:00
The game begins.
Live data and text provided by our data suppliers