Menu
Serie ASeason 2026

Cruzeiro vs Botafogo

26 July 2026 at 20:00Governador Magalhães Pinto, Belo Horizonte
AI

Gabriel Justino's first-half header gave Botafogo a 1-0 win over Cruzeiro at Mineirão, lifting them above the hosts in the Serie A table.

Match Videos

Match Analysis

AI Summary

Cruzeiro 0–1 Botafogo: Justino header punishes wasteful hosts in Mineirão duel

Botafogo beat Cruzeiro 1–0 at the Mineirão on 26 July to leapfrog their hosts in the Serie A table, with centre-back Gabriel Justino's first-half header from a corner proving decisive in a game Cruzeiro dominated yet failed to score.

How it unfolded

The only goal arrived in the 41st minute. Alex Telles swung a corner from the left into the box and Gabriel Justino rose highest, directing a firm header past goalkeeper Otávio from close range. It was Justino's first goal for Botafogo's senior side and came against the run of play.

Cruzeiro had started brightly. Matheus Henrique and Lucas Romero controlled midfield, and Luis Sinisterra caused problems on the left before pulling up with an apparent muscle injury in the 39th minute. The Colombian was replaced by Wanderson, adding to a growing injury list that already included Matheus Pereira (suspended), Gerson (suspended) and Gabriel Pec (post-surgery).

Cruzeiro dominated possession (62%) and created 16 shots (six on target) to Botafogo's eight (four on target). Their expected-goals total of 1.59 dwarfed Botafogo's 0.40 — but they could not find a finish. Bruno Rodrigues hit the target twice in the first half, and Kaio Jorge forced a save from Warleson early in the second. Botafogo goalkeeper Warleson made six saves, four of them from inside the box.

The turning point

Justino's 41st-minute goal was the moment that rewrote the game's narrative. Before it, Cruzeiro were building pressure and had already forced two saves from Warleson. After conceding, they spent the rest of the half chasing the game and lost momentum. Despite a second-half barrage of possession and shots, they never found an equaliser.

A second major disruption came just after the hour mark when centre-back Fabrício Bruno limped off with a muscle complaint (60'), forcing Artur Jorge into a defensive reshuffle that further disrupted Cruzeiro's rhythm.

Key performers

Gabriel Justino (Botafogo) — The 20-year-old centre-back scored the winner with a precise header and was a rock at the other end, winning five aerial duels and making seven clearances as Botafogo weathered sustained pressure.

Alex Telles (Botafogo) — The assist for the winner was his fourth of the season. He also made four tackles and three interceptions, a constant outlet on the left despite Botafogo's 38% possession.

Matheus Henrique (Cruzeiro) — The deepest of Cruzeiro's midfielders completed 89% of his passes, created three chances and had two shots himself. He was the home side's most creative force in the absence of Matheus Pereira and Gerson.

Player of the match: Gabriel Justino.

By the numbers — interpreted

The final stats tell the story of a game Botafogo had no right to win on the balance of play but executed perfectly. Cruzeiro's 1.59 xG to Botafogo's 0.40 suggests a comfortable home win — but that gap reflects volume rather than quality of chances. Six of Cruzeiro's 16 shots came from outside the box (worth only 0.18 xG combined), and Warleson was rarely beaten at his near post. Botafogo's 0.40 xG was almost entirely the Justino header. The visitors defended their box with discipline: 31 clearances, 12 interceptions and 5 blocked shots.

What it means

The result lifted Botafogo to 7th on 29 points, one above Cruzeiro who slipped to 11th on 27 after 20 games. Both sides are level with Corinthians on points but separated by goal difference. The win ended Cruzeiro's nine-match home unbeaten run and extended Botafogo's unbeaten streak since the World Cup break to three (two wins, one draw).

Cruzeiro's next fixture is away to Coritiba on 30 July (Round 21). Botafogo do not play again until 8 August, when they face Fluminense in the clássico vovô.

Verdict

Cruzeiro were the better side for long stretches but paid for two chronic problems: a mounting injury list and a lack of ruthlessness in the final third. Botafogo were organised, compact and clinical — exactly what you would expect from a Franclim Carvalho side built on the defensive foundations of his mentor Artur Jorge. Justino's goal was the only difference, but it was enough.

Match Events

Key match events between Cruzeiro and Botafogo — 1 goal and 9 cards recorded during the match.

Rivalry since 2010

Cruzeiro vs Botafogo Head to Head Results· 29

Cruzeiro and Botafogo have met 29 times — Cruzeiro won 12, Botafogo won 6, with 11 draws. Their rivalry dates back to 2010. Cruzeiro leads the head-to-head with 12 victories from 29 meetings. A combined 71 goals have been scored across these fixtures, averaging 2.45 per match (40 for the home side, 31 for the visitors). Both teams scored in 12 matches (41%). Over 2.5 goals landed in 13 games (45%), making it a fixture that tends to produce goals. The highest-scoring encounter finished 2–5 in 2016.

12
wins
Drawn
11
·
Total goals
71 · 2.4/match
Both scored
12/29 · 41%
Over 2.5
13/29 · 45%

Statistics are for informational purposes only. Past performance does not guarantee future results.

API data: 23 Aug 2026