The 20-year-old Canadian blew home favourite Monfils away with a blistering display to win in just 59 minutes.
Shapovalov will now face Rafael Nadal in the fourth Masters semi-final of his career on Saturday.
But the other beneficiary of his success was world number nine Berrettini, who was beaten in the second round by Tsonga this week but still became the first Italian to reach the season-ending championship since Corrado Barazzutti in 1978.
"He better get me a bottle of wine or something, or a small gift," said Shapovalov. "I'm really happy for Matteo and at the same time sad for Gael. They're both unbelievable players and people... There's nothing I can do. I go on the court and try my best and I was able to play really good tennis, so yeah, really big congrats to Matteo for making it."
The Tour Finals start on November 10 in London, where Berrettini will be hoping to cap a breakthrough season in style after winning two titles and moving into the top 10 for the first time.
The 33-year-old Monfils has still only played the Finals once in his career -- a 2016 round-robin exit.
"My season isn't over yet, I still have Davis Cup to play," said Monfils. "I don't think I could have done anything differently against him today."
World number 28 Shapovalov raced through the opening set in under half an hour before reeling off the first four games of the second in front of a stunned French crowd.
The 13th seed Monfils managed to salvage some pride with a couple of late holds, but Shapovalov wrapped up the win with his fifth ace on his first match point.
He has beaten Nadal once, in the 2017 Canadian Open, but lost their other meeting in Rome last year, while he also has a 1-1 head-to-head record with Tsonga.
"I'm playing some really good tennis, it's hard to judge if it's your best or not, but it was pretty damn good today," said Shapovalov, who won his maiden ATP title in Stockholm two weeks ago. "Everything was working for me today. Every shot was going in. It was one of those days."
Shapovalov was due to play in next week's NextGen Finals, but pulled out of the tournament in Milan after his exertions in Paris, where he is also still in the doubles event.
"I was really excited to go and play but unfortunately it will be too much for me to handle," he wrote on Twitter. "I've had an amazing end to the year, playing more matches than expected."
COMMENTS
Comments are moderated and generally will be posted if they are on-topic and not abusive.
For more information, please see our Comments FAQ