The Clarets thought they had rescued a point when they equalised on 87 minutes, but Klavan (pictured left) met Dejan Lovren's header in the final moments.
Sadio Mane had given Liverpool the lead on 61 minutes when he collected Trent Alexander-Arnold's cross and superbly drilled past Nick Pope.
Johann Berg Gudmunsson made it 1-1 with a far-post header.
But the Reds, who were without the injured Mohamed Salah and Philippe Coutinho, won it when Lovren's header from Alex Oxlade-Chamberlain's free-kick was turned in by Klavan.
Liverpool are now 13 matches unbeaten, while Burnley have not won in five.
Burnley: 13 Jan v Crystal Palace (A)
Liverpool 14 Jan v Man City (H)