The capital club came into this match with an unwanted return of just two points from a possible 12 at the start of the new campaign but secured an overdue win thanks to substitute Mirko Vucinic's last-minute strike.
The defeat was Inter's first in the league under Rafael Benitez and leaves the Nerazzurri with a one-point lead over second-placed Chievo, who can move to the summit with victory over Lazio on Sunday.
Inter enjoyed the lion's share of the chances in an open first 45 minutes, with Wesley Sneijder and Dejan Stankovic both forcing Bogdan Lobont into action.
Samuel Eto'o saw an effort charged down by Nicolas Burdisso after 22 minutes, just moments after Roma enjoyed their best chance of the half when Simone Perrotta drew a good save from Julio Cesar.
Stankovic came closest to breaking the deadlock before the interval, unleashing a 30-yard drive that beat the dive of Lobont but glanced off the top of the crossbar on its way out of play.
Francesco Totti was rested for Roma's 2-1 defeat at Brescia in midweek but his return provided fresh impetus to the home midfield, and the playmaker went close with a free-kick on the hour mark that sailed just over.
Sneijder presented Eto'o with a good chance with 15 minutes remaining but the Cameroon striker was wasteful with his effort from the right side of the area.
Eto'o was then denied by the diving Lobont on 81 minutes before Roma upped the ante in the closing moments.
Julio Baptista went close for the hosts with an effort that drew a stop from Julio Cesar after 88 minutes, but the visiting goalkeeper had no answer a minute into time added on when Daniele De Rossi sent over a pinpoint cross which Vucinic converted with a superb diving header into the left corner.