Dave Kitson scored in his first game since the opening day of the season and Leroy Lita struck twice as Reading cruised into the FA Cup fifth round.
Dave Kitson celebrates putting Reading ahead at Birmingham
Kitson scored from close range after three minutes and Lita struck on the turn four minutes before the interval.
Martin Taylor gave Birmingham hope with a low drive after 47 minutes, but Reading's Lita raced clear to add his second with eight minutes left.
Sebastian Larsson's late free-kick for Birmingham proved no consolation.
Birmingham, not surprisingly, named the side that won 5-1 at Newcastle in their third round replay.
But Reading boss Steve Coppell made a host of changes, including a return for striker Kitson after he was injured against Middlesbrough on the opening day of the Premiership campaign.
606 DEBATE: Give your thoughts on the match
And he marked his comeback after only three minutes, showing he has lost none of his predatory instincts, turning on Seol Ki-Hyeon's cross to beat Maik Taylor.
Birmingham's response was instant and spirited, with DJ Campbell turning Cameron Jerome's header just wide under challenge from Reading keeper Adam Federici.
Jerome missed an even better chance after eight minutes, somehow heading Larsson's free-kick straight at Federici after rising unmarked only six yards out.
The striker also pulled a shot wide before Reading doubled their lead, somewhat against the run of play, four minutes before half-time.
Bobby Convey crossed from the left, leaving Lita to easily turn the giant figure of defender Taylor and drive home from close range.
Birmingham needed a quick-fire reaction after the interval, and they got it within two minutes, Taylor's low left-foot shot giving Federici no chance.
Steve Bruce's side were still pushing forward, and almost grabbed an equaliser with 20 minutes left, Federici diving low to his left to keep out Gary McSheffrey's 20-yard shot.
Lita headed Convey's cross just wide as Reading threatened to take advantage of Birmingham's attacking intent by hitting the Championship side with a counter-punch.
It was a brief reprieve, the lively Lita making sure of Reading's victory as he raced into the penalty area to slide in a composed finish after 82 minutes.
Larsson tucked away a near 20-yard free-kick for Birmingham in injury time, but it was virtually the last kick of the game and Reading were never in danger.
Birmingham manager Steve Bruce:
"It was a good performance by us, but individual errors cost us at the back and we missed chance after chance up front.
"When that happens against Premiership opposition you get punished, and I'm afraid that is what happened here.
"But we can use the old cliche now - we will concentrate on the league and have a right good go at getting promotion to the Premiership."
Reading manager Steve Coppell:
"We are all delighted to have Dave Kitson back and scoring.
"It has been a long time coming and it was a justification for all the hard work he has put in in the last six months.
"We are delighted for him and I am sure he will be very pleased for himself."
Birmingham: Maik Taylor, N'Gotty (Danns 80), Martin Taylor, Upson, Sadler, Larsson, Johnson, Muamba (Kilkenny 80), McSheffrey, Jerome, Campbell (Bendtner 68).
Subs Not Used: Doyle, Nafti.
Goals: Martin Taylor 47, Larsson 90.
Reading: Federici, Murty, Bikey, Sodje, De la Cruz, Ki-Hyeon, Harper (Osano 90), Oster, Convey, Lita, Kitson (Cox 78).
Subs Not Used: Hahnemann, Hunt, Ingimarsson.
Booked: Kitson, Federici, Harper, Bikey.
Goals: Kitson 3, Lita 41, 82.
Ref: P Dowd (Staffordshire).