Rennes 2 Monaco 3: Brilliant Brazilians give Ligue 1 champions 30th win

Goals from Brazilian trio Fabinho, Jemerson and Jorge ensured Ligue 1 champions Monaco wrapped up their triumphant campaign with a 3-2 win at Rennes.

Leonardo Jardim's men sealed glory on Wednesday with a 2-0 victory over Saint-Etienne and took to the pitch clearly in celebratory mode – each member of the starting line-up sporting sprayed red and white hair.

The head coach and his staff even got in on the act with some facepaint in the club colours and they were treated to an effervescent first-half display.

Rennes goalkeeper Benoit Costil had little respite and it was to his credit that Fabinho's opening goal did not arrive until three minutes before half-time – the other side of a horror miss from Kylian Mbappe.

Centre-back Jemerson celebrated his call-up to the Brazil squad by heading a second in the 47th minute and, although substitute Adama Diakhaby converted a penalty for the hosts and netted an injury-time consolation, Jorge marked his full Ligue 1 debut in style as Monaco played out the 30th league victory of a season that has thrillingly ended Paris Saint-Germain's domination of French football.

Fabinho was not tracked on his 13th minute run into the box and Costil did well to save as his header from Jorge's cross bounced awkwardly.

The home faithful were restless when Giovanni Sio broke clear of the Monaco defence but lacked conviction in his attempt.

Adrien Hunou then volleyed Firmin Ndombe Mubele's cross wastefully into the turf in the 23rd minute before the one-way nature of the half resumed.

Costil saved with his feet after Valere Germain was played in by Mbappe at the end of a driving run, while a dazzling spin and further silky footwork preceded Jorge having a shot deflected behind by Mexer.

From the resulting corner, Mbappe had a rare moment of fallibility when he trod on the ball a yard from goal and allowed Costil to shovel it off his line.

The Rennes keeper was overworked as half-time approached, twice throwing himself at the feet of Germain in quick succession.

Joris Gnagnon cleared Germain's follow-up off the line on the first occasion, but Fabinho was on hand to prod into an unguarded goal in the 42nd minute.

Jardim sent on teenage goalkeeper Loic Badiashile for a Ligue 1 debut at the interval, but it was the more seasoned Costil who remained in the firing line.

Rennes' captain tipped over an audacious attempt by Jorge with the outside of his foot, but could only palm into his net when Jemerson firmly met Thomas Lemar's subsequent corner.

Badiashile enjoyed his first action when he saved Sanjin Prcic's free-kick, while Costil added to his bulging body of work by brilliantly denying Jorge low to his left.

Rennes found themselves back in the contest with 20 minutes to play after Abdou Diallo bundled over Mubele in the box and Diakhaby converted from 12 yards.

Djibril Sidibe replaced Lemar and his cutback allowed Jorge to complete Monaco's scoring this term, although they already appeared to have one eye on the title party as Diakhaby struck the base of the post before beating Badiashile at the second attempt in stoppage time.