Rovers paid for having defender Lucas Neill sent off against Liverpool for the second time this season and Heskey, who also missed a penalty, netted with headers after 49 and 61 minutes, both from crosses by El Hadji Diouf.
Newcastle suffered the shock of the night when they lost 2-1 at home to first division leaders West Bromwich Albion, for whom Lee Hughes scored an extra-time winner.
At Ewood Park, Neill was red-carded after he clipped the heel of Liverpool striker Florent Sinama-Pongolle to concede the 41st-minute penalty from which Danny Murphy made the score 1-1.
The Australian was sent off in Blackburn's home league defeat by Liverpool in September after he broke defender Jamie Carragher's leg with an ugly tackle.
Senegal midfielder Diouf also made Liverpool's fourth for Harry Kewell 11 minutes from the end. Late strikes by Barry Ferguson and Dwight Yorke, who also scored the game's opening goal, flattered Rovers.
West Brom went in front through a Shola Ameobi own goal at St James' Park before Newcastle's Laurent Robert forced extra time. But Hughes pounced in the 101st-minute to eliminate the premier league side.
Chelsea overcame second division strugglers Notts County 4-2 in an entertaining clash of the prince and the pauper at Stamford Bridge.
Icelander Eidur Gudjohnsen scored twice but County, who are in administration, fought well and Tony Barras briefly made the score 1-1 in the first half.
Spaniard Gaizka Mendieta grabbed his first goal for Middlesbrough in a 2-1 win at first division Wigan Athletic.
Bobby Zamora scored his first goal for Tottenham Hotspur their 1-0 extra time win over West Ham United of division one.
Portsmouth won 4-2 after extra time at first division Nottingham Forest and Aston Villa beat Leicester City 1-0.
Ghanaian midfielder Alex Nyarko played his first match for Everton in their 1-0 win over Charlton since the April 2001 incident when a fan ran on to the pitch to question his commitment.