Having thrashed the Italians 5-0 a fortnight ago, the Reds were in position to qualify for the knockout stages with victory.
But a dismal performance from start to finish was suitably punished by the quickfire second-half strikes, and their lead at the top of Group D has now been cut to two points.
Story of the game
With Liverpool uncharacteristically passive, Atalanta established control at the outset.
They first threatened on nine minutes, Gosens taking down Cristian Romero's diagonal on the left edge of the area and attempting to lash the ball past Alisson at his near post. The 'keeper was alert enough to repel it.
The impressive German sprung into life again moments later, dispossessing stand-in right-back Neco Williams in his own half and finding Alejandro Gomez. The no. 10 had time to advance into the penalty area but his eventual strike was merciful, skidding wide.
Liverpool struggled to knit together any sort of purposeful attack or indeed a meaningful spell of possession, relentlessly hounded by their hungrier visitors.
It seemed they could only be better in the second half but, in truth, it was more of the same.
Liverpool would, in fairness, have been perfectly content with the dour 0-0 for which the game was heading. But then, in a four-minute spell, Gomez lit up the contest.
First, on the hour mark, he drifted into space on the left flank and wrapped his foot around an inviting cross for Ilicic, who slid the ball home at the back post.
Then, from the same station, he picked out the menacing run of Hans Hatoeber. The ball was headed back across goal and a gloriously free Gosens had the simple task of directing it beyond Alisson.
In the interim, Klopp had sought to turn the tide with an audacious quadruple substitution.
But even with Andrew Robertson, Fabinho, Roberto Firmino and Diogo Jota arriving, Liverpool could not trouble the defence which they had effortlessly dismantled earlier in November.
Still they were beaten to the second balls, still the interchanges broke down and still any real cohesion deserted them.
They ended the game without a single shot on target.
Klopp's caution prolongs wait
In the lead-up to this game Jurgen Klopp had a decision to make: field a full-strength line-up, in the midst of an injury crisis, to maximise chances of swift qualification or take a number of players out of the firing line, accepting the risk of a setback.
Clearly, he opted for the latter. Rhys Williams, Kostas Tsimikas and Divock Origi started ahead of cotton-wool-wrapped Fabinho, Robertson and Jota.
Victory here could have earned his side the luxury of two effective dead-rubbers in a uniquely congested schedule.
But at this stage, fitness levels are his overarching concern. And even though the stakes have been raised, he knows that a draw at home to Ajax in six days' time will be enough.
He has chosen to play the long game, and eventually, that may be considered wise.
More needed from hopeful full-back deputies
This was a big opportunity for Neco Williams and Tsimikas to work their way into a rotation plan.
But after difficult nights for the pair, it is hard to dispute the conclusion that James Milner remains the team's most reliable deputy when either Trent Alexander-Arnold or Robertson are missing.
Tsimikas struggled slightly more, beginning to look somewhat dispirited before he was withdrawn.
Much more is expected of the £11million signing and the Welsh international, but patience is required.