Reading, who held Manchester to a draw in their opening game on Sunday, looked set to produce another surprise when substitute Andre Bikey on the half hour mark.
Chelsea responded with a double in the space of three minutes. Frank Lampard put the Blues at level in the 47th minute when he fired home from close range.
Didier Drogba, returning from injury, added the second in the 50th minute after a clever one-two with compatriot Salomon Kalou.
Elsewhere, Portuguese midfielder Cristiano Ronaldo was sent-off as United failed to grab their first win of the season.
Playing without star striker Wayne Rooney, who is nursing a broken foot, the Red Devils were held 1-1 at Portsmouth.
Argentine Carlos Tevez marked his Manchester United debut by setting up Paul Scholes for the opening goal in the 15th minute.
Benjani Mwaruwari put the home side at level with a 58th minute equalizer.
Both sides were reduced to ten men late in the game as Ghanaian international Sulley Muntari was sent-off for a second bookable offense while Ronaldo received his marching orders for head-butting Richard Hughes.
In Manchester, Sven Goran Eriksson maintained his perfect record with City as the team produced a 1-0 win over Derby County, courtesy of a 43rd minute Michael Johnson strike.
In other games, newcomers Sunderland and Birmingham City played out a 2-2 draw, Fulham edged past Bolton with a 2-1 win and Wigan beat Middlesbrough 1-0.