Borges and Dagoberto grabbed braces for the league leaders as Cruzeiro led by two goals, fell behind to the visitors by half-time, before scoring three times in the second half to win 5-3.
The victory took Cruzeiro 12 points clear at the top of the Serie A standings as Gremio slumped to a 4-0 loss away to Coritiba.
Gremio's defeat allowed Botafogo to claim second on the table on goal difference with both teams on 53 points.
In Belo Horizonte on Saturday, Cruzeiro hit the front after 12 minutes when Everton Ribeiro collected a loose ball in the box and slammed it past Criciuma goalkeeper Rodrigo Galatto.
It was 2-0 six minutes later as Ribeiro's flick set up Dagoberto to volley in from outside the area but just as Cruzeiro looked to be cruising, the visitors settled down and started their comeback.
Joao Vitor gave Criciuma a lifeline in the 34th minute when he curled home a free-kick and they equalised three minutes before the break when Lins lifted the ball into the roof of the net.
In first-half stoppage time, Ricardinho side-footed Sueliton's cross past Cruzeiro goalkeeper Fabio and Criciuma led 3-2.
But just four minutes after the break, Sueliton received his second yellow card for a challenge on Willian and suddenly Criciuma were under pressure again.
Borges equalised in the 58th minute with a snap shot in the box and then put Cruzeiro ahead with a powerful header from Elber's cross with 14 minutes to play, before Dagoberto completed the victory with a penalty in the 85th minute.
Cruzeiro moved to 65 points, while Botafogo rose to second after a 1-0 victory over Atletico Mineiro thanks to Julio Cesar's 52nd-minute strike and Gremio suffered their first loss in five games in all competitions.
An own goal from Para gave Coritiba the lead in the opening minute against Gremio, while Alex made it 2-0 for the hosts just three minutes later.
Robinho and Geraldo also got on the scoresheet for Coritiba as they moved up to 13th in Brazil's top tier of football, while Goias, who sit fifth, claimed their fifth consecutive victory in Serie A with a 2-0 triumph away to bottom club Nautico.
Both Vitoria and Sao Paulo claimed impressive 3-2 wins away to Fluminense and Internacional respectively, while Corinthians drew 1-1 with Santos and Ponte Preta trumped Vasco da Gama 2-1.
In other Serie A results, Bahia held Atletico Paranaense to a 1-1 draw and Portuguesa played out a scoreless stalemate with Flamengo.
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.