Rossi deflected Ezequiel Schelotto's cross into the back of his own net in the 76th minute as Atalanta ended a three-match Serie A losing streak at the Dino Manuzzi stadium.
Three minutes later, Atalanta were reduced to 10 men when the team's leading scorer German Denis was shown a second yellow card, for a handball. But the visitors held on for all three points.
The result has lifted Atalanta to 13th place while Cesena remain second-from-bottom, four points adrift of safety.
The hosts made the better start and could have taken a 10th-minute lead but Atalanta goalkeeper Andrea Consigli kept out Marco Parolo's drive from 30 yards.
Atalanta had their first chance in the 18th minute when Guido Marilungo got a touch to Maximiliano Moralez's cross yet his effort was saved by Cesena goalkeeper Francesco Antonioli.
On the half-hour mark, Antonioli again denied Atalanta, keeping out Marilungo's 12-yard strike.
The visitors could have broken the deadlock before half-time but Moralez's close-range header from Denis' cross went over the bar.
Atalanta almost went ahead early in the second half. Schelotto got his head to Moralez's cross and his powerful effort was saved by Antonioli.
Cesena threatened before the hour mark when Adrian Mutu chested down Giuseppe Colucci's cross and shot from 10 yards just wide of the far post.
There was nothing Antonioli could do about Atalanta taking the lead, as his team-mate Rossi inadvertently put the ball into the back of the net.
Denis' sending-off hindered Atalanta, who were forced to defend from then on as Cesena went in search of an equaliser.
Substitute Jorge Martinez twice had opportunities to earn his team a point. His first attempt, a header from Raphael Martinho's cross, went just wide, while at the death, his attempt from eight yards was kept out by Consigli.