The Italian outfit secured a 2-0 lead through Jeremy Menez (16) and Francesco Totti's 26th-minute penalty.
The hosts deservedly hit back in an entertaining clash through Alexander Frei's close-range header after 69 minutes, but Roma restored their two-goal cushion seven minutes later through substitute Leandro Greco.
Basle refused to throw in the towel and Xherdan Shaqiri made it 3-2 on 82 minutes with a smart finish, but Roma held on for the win.
The Italian side had the first chance after just three minutes when Mirko Vucinic set up Menez to fire just over the bar from a narrow angle.
But Basle should have taken the lead on 11 minutes when Valentin Stocker headed down to Benjamin Huggel just six yards out.
He controlled the ball on his chest and struck a left-footed shot towards the bottom corner, but Roma goalkeeper Julio Sergio pulled off a superb reaction save.
Somewhat against the run of play Roma took the lead on 16 minutes when Menez pounced on a loose ball to sidefoot home into the bottom corner.
And the same player almost repeated the trick moments later only to fire wide as he looked to be clipped from behind by Huggel.
Roma did not have to wait long to double their lead however, John Arne Riise being brought down just inside the area by Stocker and Totti converting the penalty despite goalkeeper Franco Costanzo guessing the right way and getting two hands to the ball.
Basle could count themselves unfortunate to be two goals down and came out in determined fashion in the second half, with David Abraham firing a curling effort just inches over the bar.
And they got back into the game on 68 minutes when Stocker's cross from the left flicked off the head of Nicolas Burdisso at the near post to allow Frei to head home from three yards.
Marco Streller then hammered a shot against the post as Basle threatened once more, but Roma went straight down the other end and Greco fired home from 12 yards after Marco Borriello dived to try to win a penalty.
Xherdan Shaqiri pulled a goal back with a superb left-footed finish into the bottom corner on 82 minutes, but Basle could not find an equaliser and ended the game with 10 men after Stocker was shown a second yellow card in the closing minutes for a foul on Totti.