Fabio's club Fluminense said the 44-year-old Fabio had pulled ahead of Shilton in the team's 2-0 win over Colombian club America de Cali in the round-of-16 of the Copa Sudamericana.
Fabio was honoured after the match at Maracana Stadium in Rio de Janeiro with a commemorative plaque and an image marking the record.
South America's soccer governing body CONMEBOL also congratulated him on reaching his landmark.
"It is a tremendous satisfaction to reach this record wearing the Fluminense jersey, which opened the doors for me," Fabio said.
"Now it's time to keep playing and strive for new achievements with every game."
There is no single official soccer body that tracks players' appearances across domestic and international competitions, which makes record-keeping complicated and subject to disputes about what counts as a competitive match.
Shilton was widely seen as the record-holder for most competitive games played. Guinness World Records had him at 1390 appearances in all competitions, though Shilton himself believes the count is 1387. The discrepancy comes down to which matches should count as official senior appearances.
Fabio began his career in the late 1990s, playing mostly with Brazilian club Cruzeiro. He's made 976 appearances with Cruzeiro, 235 with Fluminense, 150 with Vasco da Gama and 30 with Uniao Bandeirante.
Fabio helped lead Fluminense, which he joined in 2022, to the semi-finals of the Club World Cup earlier this year. He was also a key player in the team's maiden Copa Libertadores title in 2023, but although he played for Brazil's youth teams, he never made the country's national team.