Cruzeiro were leading 1-0 just seconds before the break when the ball struck Victor Ramos on the arm and the referee pointed to the spot.
Marinho’s penalty was saved by goalkeeper Fernando Prass but that did not calm the Palmeiras players, who were still incensed at the referee’s decision to award the spotkick.
Eight riot police kept the referee and his assistants on the pitch for two minutes before they could return to the safety of the dressing room for the halftime break.
Allison put Cruzeiro ahead after just four minutes but Cristaldo equalised for Palmeiras 29 minutes into the second half. Uruguayan Giorgian De Arrascaeta got Cruzeiro’s winner eight minutes from time.
Cruzeiro’s win ensured an unhappy return to the Mineirao stadium for Marcelo Oliveira, the coach who took Cruzeiro to the Brazilian league title the last two years before being fired after a poor start to the season.
A controversial penalty decision was also the main talking point in the derby between Sao Paulo and Corinthians.
The match ended 1-1 but Sao Paulo were denied a clear penalty with seconds to go when Uendel used his hand to turn away a goal-bound shot from Wesley.
Corinthians took the lead in the first half with a goal from Luciano but Sao Paulo, who hit the woodwork three times and had a goal chalked off, got an equaliser through striker Luis Fabiano.
League leaders Atletico Mineiro drew 0-0 at Goias and remain three points ahead of Corinthians.
Gremio moved into third when they hammered city rivals Internacional 5-0 in the biggest win in the league so far this season.
Inter fired their Uruguayan manager Diego Aguirre three days before the clash.
(Reporting by Andrew Downie; Editing by Peter Rutherford)