Liverpool raced into a two-goal lead thanks to an own goal from Ryan Shawcross and a Luis Suarez strike.
However, Stoke fought back to level matters before the break through two former Anfield men Peter Crouch and Charlie Adam.
Steven Gerrard restored Liverpool’s lead early in the second half with a penalty before Suarez netted his 22nd goal of the season to make it 4-2.
Jon Walters pulled a goal back late on before substitute Daniel Sturridge made the same safe with Liverpool’s fifth goal three minutes from time .
Liverpool got off to a flying start when they broke the deadlock after just five minutes courtesy of an unfortunate own goal from Shawcross.
There looked very little danger when Aly Cissokho tried his luck with a shot from 35 yards out, but his effort took a wicked deflection off Shawcross to wrong-foot Jack Butland and fly into the net.
Stoke tried to respond and won a succession of corners, but Liverpool almost caught them on the break on 20 minutes when Raheem Sterling beat Erik Pieters on the halfway line and ran to the edge of the box before cutting the ball back for Philippe Coutinho who curled his effort just over the crossbar.
Suarez wasted a good chance to score on 28 minutes when he beat Butland to Coutinho’s cross, but the normally deadly striker got his header all wrong and the opportunity went begging.
Four minutes later Suarez made amends when he capitalised on confusion between Marc Wilson and Shawcross, with the latter poking the ball beyond Butland and allowing the Liverpool striker to slot the ball into the empty net.
Stoke pulled a goal back on 39 minutes when Marko Arnautovic fired over a cross from the left and Crouch lost his marker Kolo Toure to power his header into the bottom corner past Simon Mignolet.
Liverpool almost restored their two-goal cushion two minutes later when Suarez picked out Coutinho inside the box and the Brazilian saw his volley brilliantly saved by Butland.
The home side hauled themselves level right on the stroke of half-time when Adam picked the ball up midway inside the Liverpool half and ran unchallenged before drilling a powerful shot past a startled Mignolet.
Liverpool won a contentious penalty on 50 minutes when Sterling charged down a clearance from Wilson to race clear on goal and then went down in the box under a challenge from the Stoke defender.
Gerrard took responsibility from the penalty spot and made no mistake by sending Butland the wrong way from 12 yards.
Sturridge made a welcome return to action for Liverpool when he came off the bench on 66 minutes following seven weeks on the sidelines with an ankle injury and it was not long before he made an impact as he set up Suarez for the fourth goal on 71 minutes.
Sturridge ran to the edge of the box before cleverly flicking the ball into the path of Suarez to curl his shot into the bottom corner past Butland for his 22nd goal of the season.
Stoke refused to lie down and almost pulled a goal back on 83 minutes when Walters got on the end of Crouch’s flick-on to power a header goalwards which Mignolet did well to push away at full stretch.
The home side gave themselves hope five minutes from time when Marko Arnautovic picked out Walters inside the box and his weak shot somehow found its way past Mignolet to set up a grandstand finish.
Liverpool added a fifth two minutes later when Suarez picked out Sturridge inside the box and, after his initial effort was brilliantly kept out by Butland, the England international kept his cool to juggle the ball before volleying into the corner past the Stoke keeper.
There was still time left for Crouch to head against the post and Mignolet made a great save from his own player Gerrard in stoppage time as Stoke pushed Liverpool all the way.