The traditional curtain raiser between the Premier League champions and FA Cup holders produced a lively affair, with new signings in the thick of affairs.
It was Liverpool's Darwin Nunez, signed from Benfica in the summer, who got the better of Erling Haaland of Manchester City to set the tone for a riveting season ahead.
Liverpool fashioned a good chance in the 15th minute when Trent Alexander-Arnold crossed for fellow full back Andy Robertson, who could only direct his header into the side netting.
The Reds found the breakthrough in the 21st minute after Salah teed up Alexander-Arnold, whose struck into the far corner via a nick off Nathan Ake's head.
Pep Guardiola rang the changes in a bid to level matters and his decision duely paid off when substitute Julian Alvarez, on his debut following his move from River Plate, poked home a loose ball after Liverpool goalkeeper Adrian failed to hold onto a header in the 73rd minute.
Liverpool were awarded a penalty with seven minutes to go after substitute Nunez's goal-bound header struck Ruben Dias on the hand.
Fresh from signing his new three-year contract, Salah stepped up and sent his effort beyond Ederson in the City goal to restore Liverpool's lead.
Nunez sealed the win in the fourth minute of stoppage time, ghosting in behind the Man City defence to head home a Robertson pass.
Haaland had a final opportunity to bring some respectability to the scoreline but blazed over from a few yards out when he had the goal at his mercy.
Liverpool will travel to Fulham when the season kicks off next week while Manchester City are away at West Ham United.