Salah scores as Liverpool beat Arsenal 2-1, Chelsea cruise
Kai Havertz scored Arsenal's goal in front of a crowd of 69,879 at the home stadium of the NFL's Philadelphia Eagles.
Egyptian Salah opened the scoring for Liverpool in the 13th minute, outpacing the defenders to latch onto Harvey Elliott's defence-splitting pass.
The striker shrugged off the attentions of Arsenal centre-back Gabriel and fired a low left-footed shot past Arsenal goalkeeper Karl Hein.
Carvalho doubled Liverpool's lead in the 34th minute, with Elliott again the provider.
The 21-year-old Portuguese winger ran onto a perfectly lofted Elliott pass into the box and fired home a crisp right-foot volley through Hein's legs.
Arsenal reduced the deficit in the 40th minute when Havertz scored past Liverpool goalkeeper Caoimhin Kelleher from point-blank range after Martin Odegaard found him in the six-yard box.
A goalless second half secured the triumph for Liverpool's new Dutch manager Arne Slot, who has replaced Jurgen Klopp.
Arsenal's newly signed 22-year-old Italian defender Riccardo Calafiori was not in the Gunners' lineup.
In Atlanta, Chelsea's French striker Christopher Nkunku converted a penalty in the third minute to set them on their way against their Mexican club opponents.
Spanish 18-year-old Marc Guiu scored the second with a 21st-minute header.
Winger Noni Madueke scored Arsenal's second penalty of the game in the 79th minute to seal the 3-0 win.
A host of European clubs are on tour to the United States ahead of the August start of their league campaigns.
Later Wednesday, Manchester United face Real Betis in San Diego, while AC Milan play Real Madrid in Chicago.