Luca Ceppitelli gave Cagliari a 31st-minute lead before Lautaro Martinez levelled for Inter five minutes later.
But the visitors' joy was short-lived as Leonardo Pavoletti netted the winner with a sublime first-time volley from Darijo Srna's cross two minutes before halftime.
Cagliari could have grabbed a third in stoppage-time but Nicolo Barella blazed his penalty over the crossbar.
News that makes sense
Your trusted source for staying up-to-date with the world around you. Get free daily news updates and analysis, straight to your inbox.
(Reporting by Karolos Grohmann, editing by Ed Osmond)
