Philippe Coutinho, captain for the day, led the way with a magnificent strike into the top corner after six minutes.
Seven minutes into the second period, Firmino volleyed in Coutinho’s free-kick at the far post.
The Reds then scored twice in a minute, Trent Alexander-Arnold rifling in his first goal for the club on 65 minutes before Firmino struck again.
Alex Oxlade-Chamberlain added his first home goal in Liverpool colours on 82 minutes.
Jurgen Klopp's side move back a point above Spurs, while Swansea stay bottom on 13 points, five off safety.
Liverpool: 30 Dec v Leicester (H)
Swansea: 30 Dec v Watford (A)