João Pedro da Silva Pinheiro (born 4 January 1988) is a Portuguese referee who officiates in the Primeira Liga. He has been a FIFA referee since 2016, and is ranked as a UEFA elite category referee.
Refereeing career In 2015, Pinheiro began officiating in the Primeira Liga. His first match as referee was on 20 September 2015 between Académica and Boavista. In 2016, he was put on the FIFA referees list. He officiated his first senior international match on 23 March 2019 between Brazil and Panama. He has also officiated matches in the Egyptian Premier League and Saudi Professional League in 2019.
In 2019, he was appointed to officiate the 2019 Taça da Liga Final, taking place on 26 January 2019 between Porto and Sporting CP. In February 2022, he was appointed to officiate a Portuguese derby match between FC Porto and Sporting CP, which ended in a 2–2 draw, and was described in the media as "an ugly football game," which resulted in a brawl at the end of the match, leading four players to be sent off; his decisions, including failing to award Porto defender Pepe – who later started the brawl and was among those sent off – a penalty for allegedly being kicked in the head inside the box, caused some criticism in the media.
On 13 August 2025, he was appointed to referee the 2025 UEFA Super Cup between PSG and Tottenham Hotspur at the Stadio Friuli in Udine; the match ended in a 2–2 draw, with PSG prevailing 4–3 on penalties. On 6th May 2026, he officiated the second leg of the 2025–26 UEFA Champions League semi-final between Bayern Munich and PSG. Pinheiro faced heavy criticism for some controversial decisions during the match, including failing to award Bayern Munich a penalty after an alleged handball inside the penalty area by PSG midfielder João Neves, leading Bayern CEO Jan-Christian Dreesen calling him "inexperienced".
Pinheiro was appointed as one of the referees for the 2026 FIFA World Cup, co-hosted by Canada, Mexico, and the United States. He officiated the Group match between Switzerland and Bosnia and Herzegovina, which ended in a 4–1 victory for the former side; during the match, he issued three yellow cards and a straight red card to Bosnian defender Tarik Muharemović, when his team were trailing 1–0. He was also in charge of the round of 32 match between Canada and South Africa, showing only two yellow cards, with the latter team advancing after a 1–0 victory in injury time. He later officiated the quarter-final tie between Switzerland and defending champions Argentina; during the second half, with the score tied at 1–1, Switzerland's Breel Embolo was initially involved in a VAR review after Argentina's Leandro Paredes was shown a yellow card by Pinheiro for an alleged foul on him. Under an incorrect use of FIFA's new "mistaken identity" rule, VAR reviewed the decision and illegally determined that Embolo had simulated the contact. Paredes' booking was rescinded and Embolo received a second yellow card, causing his dismissal. Argentina went on to win 3–1 after extra time. After the match, Switzerland manager Murat Yakin criticised the VAR intervention, and described Embolo's dismissal as "a refereeing mistake". Captain Granit Xhaka also said the decision had "killed the game", while Remo Freuler called on FIFA to explain the VAR intervention. IFAB has since released a statement confirming Breel Embolo should not have been sent off.
References
External links
João Pinheiro