Chelsea 1 Reading 0
The goal, on 32 minutes, sealed three vital points for Chelsea who remain third in the Premier League table.
Early pressure by the visitors saw two corners in succession in the first three minutes, the second seeing striker Leroy Lita head towards goal but Petr Cech held the ball comfortably.
Chelsea's first attack on goal came from a free-kick after Shaun Wright-Phillips was hacked down just outside the Reading penalty area by Kalifa Cisse.
Ballack curled the ball around the wall but Marcus Hahnemann dived to his left to smother the shot.
On 22 minutes Reading were sliced apart when Claude Makelele bisected their rearguard to send Shaun Wright-Phillips free on goal.
The England winger tried to send the ball past Hahnemann but the American produced a wonderful save to deny the former Manchester City man.
Hahnemann's blushes were spared seconds later when he punched a Joe Cole corner back toward his own goal. Luckily John Oster was on the far post to clear the ball.
But the breakthrough was as classy as it was expected. On 32 minutes, Paulo Ferreira swept across a deep byline drive and Ballack rose majestically to head the ball powerfully wide of the hapless Hahnemann.
Cole almost doubled the Blues' lead seconds after the break. His snaking long run on the right ended with him firing in a daisy-cutter of a right-foot drive that flashed across the Reading goal and just missed the far post.
Hahnemann foiled Wright-Phillips again on 52 minutes . The winger again found himself one-one one with the goalkeeper and again the stopper came out on top.
Nicolas Anelka almost doubled Chelsea's lead on 65 minutes when a quick counter-attack by Chelsea ended with Wayne Bridge sending the ball across to the far post.
The France international headed down towards goal only for Hahnemann to thwart the striker with a fine block.
James Harper has a glorious chance on 72 minutes to equalise but the Royals midfielder fluffed an easy eight-yard volley from Lita's cross.
The Ballack/Ferreira combination almost worked again with eight minutes remaining but this time the German captain's header just inched over the crossbar.
Chelsea ran the clock down on an unconvincing display but it was enough to beat lacklustre Reading.