Just as you thought it would be a point apiece, Rodrigo - the star in Istanbul to earn the Treble - was at it again, blasting home an unstoppable drive to send the away fans wild.
Liverpool pressed to go in front again and eventually Curtis Jones gave them the lead again before a scuffed Cody Gapko effort from a brilliant Salah pass gave them breathing space.
And a cute back-heel from Nat Chalobah, making his his home league debut for Chelsea as a sub, allowed Victor Moses to drill home the third ten minutes from time.
Villarreal may still have fancied their chances of scoring again, but this was hampered when they too were reduced to 10 men, as Etienne Capoue shown a second yellow for a late tackle on Saka.
Belgium, England's Group G opponents, were again without injured defender Vincent Kompany in Brussels, while Eden Hazard limped off in the 70th minute.
And the substitute went close again when his poked shot struck the keeper's right-hand upright. Real skipper Sergio Ramos, who had a header disallowed, missed an open goal from eight yards.
Danns struck again two minutes from time, thumping the ball home after Southampton goalkeeper Joe Lumley had parried Conor Bradley's shot into his path.
With City beating Fulham comfortably on Saturday, Jurgen Klopp's side were in need of a positive result to keep the pressure on the champions, who play again at home to Cardiff City on Wednesday.
Mario Lemina headed in Pedro Neto's corner for the first of them before Hwang himself leveled it up again after heavy home pressure in the second half.
It came after an improved spell from the visitors, but Barcelona soon took control again and, after Luis Suarez had seen penalty appeals waved away after a challenge from Aissa Mandi, Messi thumped an effort against the bar.