Fraizer Campbell gave the hosts the lead as the ball fell kindly to him 12 yards out after 15 minutes, but Liverpool were level shortly after half-time through Daniel Sturridge’s back-post volley.
Adam Lallana tucked away Mario Balotelli’s rebounded free-kick just before the hour mark to make it 2-1, and Liverpool held on to reach the last eight for the first time in three seasons.
Liverpool dominated possession throughout the first half, but lacked a cutting edge without the injured Raheem Sterling.
They were behind after Martin Skrtel headed a clearance into the path of Dwight Gayle to force a save out of Simon Mignolet, and Campbell was on hand to slot home with the goalkeeper grounded.
The visitors had two quick-fire opportunities to equalise shortly after the goal; first Lallana’s drilled effort from 12 yards was parried wide by Julian Speroni, before Philippe Coutinho saw his effort from the edge of the box blocked superbly by Scott Dann.
Liverpool’s appeals for a penalty were turned down by referee Robert Madley moments later after Sturridge went down under a challenge from Palace debutant Pape Souare, the Senegalese defender just catching the Englishman as he looked to shoot from close range.
Gayle, who scored twice in the famous 3-3 draw between the two sides towards the end of last season, was again causing problems for the Reds but saw his shot from 15 yards blocked well by Mignolet as he broke free.
Sturridge equalised four minutes after the break, firing home on the volley 10 yards out after Jordan Henderson’s superb chipped cross to score his second goal since returning from injury last month
Balotelli, who had been brought on at half-time by Brendan Rodgers after scoring the winner in the 3-2 win over Tottenham in midweek, then won a free kick 25 yards out with some skilful play.
The Italian brushed himself off to fire the set piece goalwards, and Speroni fumbled the effort into Lallana’s path eight yards out to allow the midfielder to direct the ball into the corner of the net and make it 2-1.
Crystal Palace wasted several set-piece opportunities in the final half hour, and Rodgers’ side managed to keep the hosts’ other chances to a minimum.
Liverpool have now lost just once in 16 games in all competitions, and will find out on Monday who they face in the last eight.