Queens Park Rangers will face MK Dons in the FA Cup fourth round after Jay Bothroyd's late header earned a win over West Brom.
Bothroyd tested Boaz Myhill in the first half when he cut in from the right and hit a shot from 18 yards.
But that stop was bettered by QPR keeper Rob Green a minute later, when he clawed Romelu Lukaku's header away.
Green made several second-half saves and Bothroyd pinched victory when he beat Myhill with a tame header.
It was Bothroyd's first goal for QPR this season, having spent parts of the season on loan at Sheffield Wednesday.
Bothroyd ends Hoops drought
One-time England cap Bothroyd netted his first goal for QPR since scoring the opener in a 3-2 home defeat by Manchester City on 5 November 2011.
But it was Green, who built the foundations of the victory, with match-winning stops either side of half-time.
It means Harry Redknapp's side are unbeaten in 2013 despite being rooted to the bottom of the Premier League, and the win was their first against Premier League opposition in this competition for 18 years.
QPR's improvement has been in contrast to West Brom's slump in fortunes and the Baggies have now won only two of their last 11 matches in all competitions.
The hosts were more threatening early on with Green acrobatically denying Lukaku after 29 minutes before stopping Jerome Thomas's cutback.
Shaun Wright-Phillips replaced Djibril Cisse at half-time and there was more thrust to the visitors play as a result, with Myhill forced to stop a deflected effort from the substitute.
Bothroyd then scored with 15 minutes left when Myhill failed to hang on to the striker's header following Alejandro Faurlin's corner.
Green had to save twice again from Markus Rosenberg and then capped a fine performance to thwart Graham Dorrans.
West Brom head coach Steve Clarke:
"I was disappointed, I thought we had the better chances and Rob Green made some good saves but we went to sleep at a set play.
"The squad's been stretched in recent weeks, the boys have done their best. Maybe the luck we had a few weeks ago has deserted us.
"But as a group, we know what we are trying to do. There's no better team to try and turn it around than against Aston Villa at the weekend.
"We played some decent stuff without having a spark. It could not have been a great spectacle but we were the team trying to win it."
QPR boss Harry Redknapp:
"Jay Bothroyd did well tonight. He was written off. He's been at Sheffield Wednesday and not done very well.
"They sent him back and I thought I'd give him a go tonight and see what he could do. He did well but then again, he played for England a couple of years ago under Fabio Capello.
"It was a tough match. The first half was a bit dour, not a lot happening but Rob Green made a fantastic save in the first half (from Romelu Lukaku's header).
"Then when he came under pressure in the second half, he made another couple of good saves after we scored."
90:00+2:59 The ball is swung over by Romelu Lukaku.
90:00+1:28 Substitution Steven Reid comes on in place of James Morrison.
90:00+0:59 Yassine El Ghanassy challenges Alejandro Faurlin unfairly and gives away a free kick. Anton Ferdinand restarts play with the
90:00+0:15 Substitution Jamie Mackie leaves the field to be replaced by Adel Taarabt.
89:44 Shaun Wright-Phillips handles the ball and concedes a free kick. Romelu Lukaku produces a strike on goal direct from the free
Correction - 87:51 Effort from 18 yards by Graham Dorrans. Save made by Rob Green. James Morrison takes a short corner. The ball is sent over
by Yassine El Ghanassy, Anton Ferdinand manages to make a clearance. James Morrison takes a inswinging corner to the near
post, clearance made by Anton Ferdinand.
87:51 Graham Dorrans takes the chance to get an effort at goal. Rob Green makes a save. Corner taken short by James Morrison. Yassine
El Ghanassy delivers the ball, Anton Ferdinand makes a clearance. Corner taken by James Morrison played to the near post,
clearance by Anton Ferdinand.
87:19 The ball is delivered by Romelu Lukaku, clearance made by Anton Ferdinand.
86:19 Jamie Mackie challenges Gareth McAuley unfairly and gives away a free kick. Indirect free kick taken by Boaz Myhill.
84:04 The ball is crossed by Goran Popov, Anton Ferdinand manages to make a clearance.
82:01 Effort on goal by Yassine El Ghanassy from 18 yards. Save made by Rob Green.
81:40 Shot by Goran Popov. Save by Rob Green.
80:52 The official flags Jamie Mackie offside. Indirect free kick taken by Gareth McAuley.
79:39 Free kick taken by Rob Green.
79:39 Substitution Yassine El Ghanassy joins the action as a substitute, replacing Gabriel Tamas.
79:39 Substitution Stephane Mbia joins the action as a substitute, replacing Jay Bothroyd.
79:39 Handball decision goes against Billy Jones.
79:23 Markus Rosenberg takes the chance to get an effort at goal. Rob Green makes a save.
78:32 James Morrison crosses the ball, Headed effort on goal by Gareth McAuley from inside the penalty box misses to the right of
77:52 Inswinging corner taken right-footed by James Morrison played to the near post, clearance made by Jay Bothroyd.
77:13 The assistant referee signals for offside against Jay Bothroyd. Free kick taken by Gabriel Tamas.
76:36 Indirect free kick taken by Rob Green.
76:36 Booking Markus Rosenberg is booked.
76:32 Free kick awarded for an unfair challenge on Jamie Mackie by Markus Rosenberg.
76:01 The ball is sent over by Goran Popov, Shot by Markus Rosenberg. Brilliant save by Rob Green.
74:38 Alejandro Faurlin provided the assist for the goal.
74:38 GOAL - Jay Bothroyd:West Brom 0 - 1 QPR Jay Bothroyd scores a headed goal from just inside the area. West Brom 0-1 QPR.
73:58 Outswinging corner taken left-footed by Alejandro Faurlin,
72:31 Centre by Markus Rosenberg.
70:46 Substitution Peter Odemwingie is brought on as a substitute for Jerome Thomas.
70:09 Inswinging corner taken by James Morrison from the left by-line played to the near post, Gabriel Tamas produces a header from
inside the area that goes over the bar.
69:53 James Morrison has an effort at goal. Nedum Onuoha gets a block in.
68:54 Billy Jones gives away a free kick for an unfair challenge on Shaun Wright-Phillips. Tal Ben Haim restarts play with the free
66:25 Centre by Alejandro Faurlin.
65:45 Short corner taken by Alejandro Faurlin from the right by-line.
64:15 The referee blows for offside. Gareth McAuley takes the indirect free kick.
62:32 Shaun Wright-Phillips has an effort at goal. Blocked by Gabriel Tamas.
62:00 Jerome Thomas produces a cross.
60:47 Drilled left-footed shot by Romelu Lukaku. Blocked by Clint Hill.
60:05 Shot from 20 yards by Romelu Lukaku. Save made by Rob Green.
56:49 Jerome Thomas challenges Anton Ferdinand unfairly and gives away a free kick. Free kick taken by Rob Green.
56:26 Effort from 25 yards by Shaun Wright-Phillips. Save by Boaz Myhill.
55:35 Ji-Sung Park gives away a free kick for an unfair challenge on Jerome Thomas. Indirect free kick taken by Boaz Myhill.
55:02 Shot from 18 yards by Alejandro Faurlin. Gabriel Tamas gets a block in.
53:52 The ball is crossed by Romelu Lukaku, Tal Ben Haim makes a clearance. Outswinging corner taken by James Morrison.
51:08 Jerome Thomas delivers the ball.
50:04 Indirect free kick taken by Anton Ferdinand.
50:04 Booking Jerome Thomas receives a yellow card for unsporting behaviour.
49:52 Jamie Mackie fouled by Jerome Thomas, the ref awards a free kick.
48:04 Centre by Ji-Sung Park, save by Boaz Myhill.
45:14 Alejandro Faurlin challenges Markus Rosenberg unfairly and gives away a free kick. James Morrison crosses the ball, Header
from the edge of the box by Gareth McAuley hits the post.
45:01 The referee gets the second half underway.
45:01 Substitution Djibril Cisse leaves the field to be replaced by Shaun Wright-Phillips.
45:00+1:12 The ref blows to signal half-time.
44:02 The official flags Jay Bothroyd offside. Gareth McAuley takes the indirect free kick.
42:56 Shot on goal by Graham Dorrans from just inside the area goes over the target.
Correction - 42:41 The ball is delivered by Jerome Thomas, save by Rob Green.
42:41 Jerome Thomas delivers the ball, save by Rob Green.
34:46 Drilled right-footed shot by Graham Dorrans. Clint Hill gets a block in.
33:20 The ball is swung over by Jay Bothroyd, Billy Jones makes a clearance.
31:16 Goran Popov challenges Jay Bothroyd unfairly and gives away a free kick. Free kick taken by Rob Green.
30:20 Corner taken by Alejandro Faurlin, Gareth McAuley makes a clearance.
29:53 Drilled left-footed shot by Jay Bothroyd. Brilliant save by Boaz Myhill.
28:13 Goran Popov produces a cross, Romelu Lukaku takes a shot. Fantastic save by Rob Green.
22:21 Free kick awarded for an unfair challenge on Jamie Mackie by Billy Jones. Indirect free kick taken by Jamie Mackie.
20:10 James Morrison produces a drilled right-footed shot from 35 yards. Blocked by Shaun Derry.
17:27 Graham Dorrans has a direct shot on goal from the free kick.
17:27 Booking The referee shows Tal Ben Haim a yellow card for unsporting behaviour.
17:13 Tal Ben Haim gives away a free kick for an unfair challenge on Romelu Lukaku.
16:07 Effort on goal by Romelu Lukaku from just inside the penalty area goes harmlessly over the target.
14:47 The ball is swung over by Graham Dorrans, Alejandro Faurlin manages to make a clearance.
14:07 Romelu Lukaku is ruled offside. Rob Green takes the free kick.
12:44 The referee blows for offside against Markus Rosenberg. Anton Ferdinand takes the free kick.
8:41 Jerome Thomas concedes a free kick for a foul on Jay Bothroyd. Nedum Onuoha takes the free kick.
6:47 Free kick awarded for an unfair challenge on Jerome Thomas by Nedum Onuoha. George Thorne takes the free kick.
5:37 The ball is sent over by Jerome Thomas, Nedum Onuoha gets a block in.
3:45 Goran Popov delivers the ball, Headed effort from deep inside the area by Romelu Lukaku misses to the right of the target.
3:05 Jerome Thomas fouled by Nedum Onuoha, the ref awards a free kick. Direct free kick taken by Goran Popov.
0:55 Shot by Jay Bothroyd from 18 yards. Gareth McAuley gets a block in. Outswinging corner taken from the left by-line by Alejandro
0:09 Romelu Lukaku gives away a free kick for an unfair challenge on Tal Ben Haim. Tal Ben Haim takes the free kick.
0:00 The referee gets the game underway.
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.