Goals from Mikael Forssell and Julian Gray led Birmingham City to a 2-1 victory over second division leaders Reading in their FA Cup fourth round replay.
Forssell put the Premier League strugglers in front after 30 minutes when he took a pass from the impressive Jermaine Pennant and wriggled past two defenders.
His first effort on goal was saved by Irish goalkeeper Graham Stack but the Finland striker slotted home the rebound.
Reading, 10 points clear at the top of the second division and chasing promotion, went close to an equaliser a minute later when Steve Sidwell hit the post.
The visitors eventually got back on level terms six minutes into the second half, Stephen Hunt taking advantage of indecision in the middle of the Birmingham defence to volley powerfully into the roof of the net from 15 metres.
However Birmingham secured a fifth round visit to second division Stoke City when Gray headed in a cross by Jiri Jarosik in the 67th minute.
Elsewhere, Danny Dichio's double took Preston into the FA Cup fifth round at the expense of Coca-Cola Championship rivals Crystal Palace as they won 2-1.
Dichio's goals - the second coming two minutes from full-time - clinched this fourth-round replay as North End came from behind after Darren Ward had given Crystal Palace a 26th-minute lead.
But Dichio equalised nine minutes later - and then headed the winner in front a crowd of only 7,356 to earn Billy Davies' men a home tie against either Middlesbrough or Coventry in round five.