Roma turn tables on Basel
The match, with Roger Federer among the crowd, was almost a complete reversal of their previous Group E meeting two weeks ago, when Roma dominated but the Swiss walked out 3-1 winners.
This time, Basel did most of the attacking but faced an uphill struggle after Jeremy Menez and Francesco Totti, from a penalty, put the Italians 2-0 ahead after less than half an hour.
Alexander Frei headed one goal back for the Swiss in the 69th minute, substitute Leandro Greco restored Roma's two-goal advantage and Xherdan Shaqiri set up a rousing finish by replying for Basel with seven minutes left.
Roma's Brazilian goalkeeper Julio Sergio was one of their top players as they fought a rearguard action for much of the game.
The second half was interrupted five times by Roma players collapsing injured, each time when Basel were in possession, infuriating the home crowd and leading to several angry exchanges on the field.
The win took Roma's tally in Group E to six points, putting them second behind leaders Bayern Munich. Basel have three and are last, behind CFR Cluj on goal difference.
"Our destiny is in our hands," said relieved Roma coach Claudio Ranieri, under fire for his team's indifferent form in Serie A. "We were trapped in our own half for much of the second half and our determination has played an important role."
Basel, inspired by lively youngsters Samuel Inkoom and Shaqiri, dominated the opening 15 minutes with only Julio Sergio's point-blank save from Benjamin Huggel keeping Roma on level terms.
The game changed completely in the 16th minute when Roma scored out of the blue. A slick move ended with Mirko Vucinic going down and, while he claimed a penalty, the ball ran kindly to Menez for the Frenchman to slot home clinically from the edge of the area.
Ten minutes later, John Arne Riise was adjudged to have been fouled in what appeared to be a harsh decision on the hosts, and Totti converted the penalty.
That briefly subdued Basel but they came out strongly after halftime and Frei headed one back in the 69th minute, prompting a torrid spell for the visitors in which Marco Streller hit the post.
Nevertheless, Roma went up the other end and scored again with a near replica of the first goal.
This time, Marco Borriello went down claiming a penalty but the ball ran loose for Greco, who had only just gone on, to place his shot into the net.
Shaqiri pulled one back with seven minutes left but Basel could not find a way through and their frustration boiled over when Valentin Stocker was sent off for a second bookable offence in stoppage time.
Coach Thorsten Fink was left to reflect on another rousing home performance which ended in defeat, following their 2-1 home loss to Bayern Munich.
"I thought we played better than against Bayern but it's a similar feeling," he told the news conference. "We're satisfied with the performance but depressed at the defeat."