The Reds were made to work by Villa's youngsters, with the sides going into the break level after Louie Barry cancelled out Sadio Mane's early opener.
Jurgen Klopp made six changes to the side that tasted defeat against Southampton on Monday night as youngsters Caoimhin Kelleher, Neco Williams, Rhys Williams and Curtis Jones came into the starting eleven.
It took Liverpool a little more than three minutes to make the breakthrough as Sadio Mane pulled away from his marker and headed home Curtis Jones' inviting cross from the right.
Mane appeared to have injured himself whilst putting his header away, but the winger carried on despite a visible grimace as Klopp breathed a sigh of relief on the sidelines.
The Reds dominated possession and took the game to Villa's youngsters as they looked to put the game to bed early on. They were denied a second as Fabinho's effort was blocked by Onodi, with the keeper producing an excellent double save to keep Mane's follow-up effort out.
Villa began to threaten on the counter as the first half wore on, but the Reds still looked comfortable for the most part as the game was played out in the hosts' half.
Mohamed Salah's driven effort from the right took a slight deflection but the goalkeeper was alert to the danger as he got down low to deny the Egyptian.
Villa began to see more of the ball and an excellent ball by Callum Rowe saw Louie Barry get the better of Rhys Williams before running through on goal and netting past Caoimhin Kelleher in goal.
Jordan Henderson and Curtis Jones both had long-range efforts from outside the box just before half-time, but the goalkeeper was up to the task on both occasions as it stayed 1-1.
The Reds skipper was replaced by Thiago at the break, with Klopp looking for his side to utilise their lions' share of possession with the Spaniard's ability to unlock defences.
The Reds thought they'd taken the lead through Salah after the Egyptian tucked the ball home from close-range on the second occasion, but the goal was disallowed for offside against the Egyptian.
Liverpool picked up the tempo as the half wore on as they took the lead again on the hour mark. The otherwise-quiet Takumi Minamino laid the ball off for Gini Wijnaldum, who was waiting at the edge of the box before calmly stroking the ball into the back of the net.
It took less than three minutes for the Reds to add another as substitute Mane's header from Xherdan Shaqiri's clipped ball made its way past Onodi.
The Reds weren't finished there as they added a third goal in four minutes, with Shaqiri feeding Salah this time before the Egyptian pivoted inside the box and sent a driven finish into the bottom right corner.
Salah and Mane were both withdrawn with 15 minutes left on the clock as Alex Oxlade-Chamberlain and Divock Origi came on. Origi joined fellow substitutes Shaqiri and Roberto Firmino up front as the Reds looked for a crowning fifth goal.
Thiago came inches away from his first Liverpool goal as he whipped the ball on to the crossbar from the outside of the box, with the midfielder displaying his exemplary striking technique yet again.
Liverpool finished the game in total control but couldn't find a fifth goal, with the Reds now set for a nine-day break before a huge clash against Manchester United at Anfield on 17th January.
Liverpool XI: Alisson, N. Williams, R. Williams, Fabinho, Milner, Henderson, Wijnaldum, Jones, Salah, Minamino, Mane.
LFC Globe's MOTM: Thiago
Next Fixture: Man United (H) - 17 Jan, 4.30pm