The European champions have not tasted victory in their past four friendly matches, losing to Borussia Dortmund and Sevilla and drawing with Sporting Lisbon before their loss at Murrayfield.
Lorenzo Insigne, Arkadiusz Milik and Amin Younes scored for the Serie A side in front of a sell-out crowd of 65,000, with Liverpool manager Jurgen Klopp using 21 players in total.
Insigne curled in the opener in the 17th minute and Carlo Ancelotti's side underlined their superiority by doubling their lead just before the half-hour.
Liverpool fall 2-1 to Sevilla in Fenway friendly
This time Insigne turned creator, squaring for Milik to finish.
Liverpool's Georginio Wijnaldum had a goal ruled out on the stroke of half-time for off-side.
The Premier League side started the second half showing greater intent but Napoli struck again seven minutes after the re-start.
Insigne was involved once more, surging into the box and drawing a stop from Liverpool goalkeeper Simon Mignolet that bounced off one of his own defenders and presented Younes with a tap-in.
Liverpool's transfer window will not be 'biggest': Klopp
Klopp made 10 changes during the second half, including a maiden appearance for 16-year-old Harvey Elliott following the announcement of his signing earlier in the day.
The teenager became the youngest debutant in Premier League history when he played for Fulham against Wolves in May at the age of 16 years and 30 days.
Liverpool, last season's runners-up, play Premier League champions Manchester City at Wembley on Sunday in the Community Shield, the traditional curtain-raiser to the English season.
COMMENTS
Comments are moderated and generally will be posted if they are on-topic and not abusive.
For more information, please see our Comments FAQ