Frosinone goalkeeper Marco Sportiello denied Mandzukic's diving header with Bonucci in place to turn the rebound into goal.
Ronaldo slotted in his 19th Serie A goal and 21st in all competitions on 62 minutes with Rodrigo Bentancur crossing for Mandzukic who provided the assist for the Portuguese striker.
Ronaldo was then replaced by Federico Bernardeschi with the tie against Atletico in mind, with Sportiello denying Juventus a fourth goal keeping out a powerful Bernardeschi free kick.
"I'm happy for Paulo, he scored a good goal and that's what strikers live for," said Allegri.
"The game against Atletico Madrid will be very different. It's crucial that we get a goal there, otherwise qualification would be rather difficult to achieve.
"But this team is growing, we are even better than the first weeks (of the season)."
AC Milan, in fourth, travel to Atalanta, one place below in fifth, on Saturday in a battle for Champions League football next season.
Napoli host Torino on Sunday, with Inter Milan, in third, hosting ninth-placed Sampdoria.
Roma play relegation threatened Bologna on Monday after winning their Champions League last 16, first-leg tie against Porto 2-1.