Nicolas Anelka started the rout after just eight minutes, then Florent Malouda doubled his side's advantage with a superb solo effort nine minutes later.
Full-back Ashley Cole made it three on 22 minutes to score the Premier League's 18,000th goal.
Cole then set up Frank Lampard to volley home a fourth 11 minutes before the break.
Michael Ballack added a fifth seven minutes after the restart, and although substitute Bolo Zenden pulled one back against his former club four minutes later, Anelka helped himself to his second on 65 minutes.
Lampard claimed his second in the last minute and there was still time for Darren Bent's injury-time strike to leave the final score at 7-2.
Under-pressure Liverpool boss Rafael Benitez saw his side threw away a precious victory at Stoke.
The Reds were leading 1-0 with just seconds of normal time remaining when Germany international Robert Huth stabbed home an equaliser to cancel out a Sotirios Kyrgiakos effort.
Wolves crashed 2-0 at home to fellow strugglers Wigan and had to play the entire second half with 10 men after having Richard Stearman sent off for a second bookable offence in injury-time at the end of the first half.
Keeper Marcus Hahnemann saved Hugo Rodallega's resulting penalty and Paul Scharner blasted the rebound wide, but McCarthy finally beat the American on the hour.
Latics midfielder Hendry Thomas was later sent off for a second yellow card offence, but his side doubled their lead through Charles N'Zogbia with 17 minutes remaining.
Fifth-placed Tottenham saw their fourth place ambitions stall when they could not find a way past lowly Hull as Harry Redknapp's 500th Premier League game ended scoreless with keeper Boaz Myhill ensuring the visitor's claimed a point.