After falling 11 points behind leaders Juventus in Serie A and exiting the Coppa Italia to Fiorentina last month, Roma will know the Europa League provides their last realistic hope of success this term.
They appeared to be on track for another disappointing result at the Stadio Artemio Franchi as Josip Ilicic gave hosts Fiorentina a 17th-minute lead.
Adem Ljajic saw a penalty, which had been controversially awarded, saved by Neto on the hour mark as Roma sought a response.
Yet it was Keita - Roma's scorer in a 1-1 draw with Juventus 10 days ago - who had the final say with a well-placed header to give Roma a narrow advantage ahead of the return leg in seven days' time.
Chances were few and far between early on, but Ilicic took advantage of the first real opportunity of the match following a quick Fiorentina counter-attack.
Mohamed Salah broke clear after intercepting a poor pass from Daniele De Rossi and expertly slipped Ilicic through to lash home beyond Lukasz Skorupski at the near post.
De Rossi was substituted in favour of Miralem Pjanic because of an apparent injury five minutes later and Roma, despite enjoying plenty of possession, struggled to break down the home defence.
However, Rudi Garcia's men should have levelled a minute before the interval when Ljajic spooned the ball over the bar from point-blank range after Alessandro Florenzi had been denied by Fiorentina goalkeeper Neto.
Roma were handed a huge lifeline in the 59th minute as Neto was harshly adjudged to have brought down Juan Iturbe as the forward raced towards goal.
But Ljajic again fluffed his lines as his low penalty was kept out by Neto diving to his right.
Neto's heroics appeared to spur Fiorentina on as they pushed for a second, with Ilicic and Borja Valero both firing wide from the edge of the area.
Yet the hosts required more fine work from Neto, the Brazilian racing out of his area to dispossess Radja Nainggolan before Milan Badelj fouled Pjanic to prevent him from firing into an empty net from long range.
Roma's reward finally arrived when Keita met Florenzi's corner with a powerful header directed down into the ground and past Neto.
Badelj forced Skorupski to tip over a 35-yard drive, but that was as close as Fiorentina came to a victory on the night as Roma stood firm.
Get the best features, fun and footballing frolics straight to your inbox every week.
Thank you for signing up to Four Four Two. You will receive a verification email shortly.
There was a problem. Please refresh the page and try again.