The result means that Krasnodar will finish third in Group E, while Rennes are condemned to fourth spot with a game to spare.
Krasnodar secure third place and qualify for the Europa League after a nervy 1-0 win over Rennes. Krasnodar had the better of a tight first half, where they created numerous openings for Berg up top which the striker couldn't quite finish. Rennes, meanwhile, had some bright moments throughout the game when Doku got into the final third, without creating a truly exciting opening. And it was the hosts who took the lead on 71 minutes when Berg muscled past Da Silva to latch onto a long ball forward and knock it past Salin. From there, Rennes continued to pour forward but Krasnodar firmly held on to secure a precious victory.
FULL TIME: Krasnodar 1-0 Rennes
Traore bends in a dangerous cross that Nzonzi nods wide of the far post. It was a difficult chance, but the away side's hopes are beginning to fade.
Krasnodar hit Rennes on the break, but their three-on-three amounts to nothing after Ari attempts an audacious chip that floats into the arms of Salin.
Berg is replaced by Ari up top after netting that crucial goal for the hosts.
Five minutes of stoppage time are added on.
Doku is caught ever so slightly in the area and to his credit, he attempts to stay on his feet before Krasnodar clear. Nevertheless, the contact wasn't severe enough for VAR to get involved.
Cabella slaloms into the area before trying to dink a throughball to Suleymanov, but Nyamsi steps in to clear it away for the away side.
Kambolov comes on for Gazinskiy following that injury.
Gazinskiy pulls up when tracking back to defend for the hosts and it looks like he'll have to be replaced.
Krasnodar are calmly fending off each attack from the away side as their greater experience is beginning to show.
Claesson bustles into the box, before cutting it back to Berg who scrambles a scruffy effort wide from eight yards.
Camavinga is replaced by Tait as Rennes grow increasingly desperate.
Camavinga trips Berg out of frustration, allowing Krasnodar to slow the game down with a free-kick.
Well, that could be the goal that opens this game right up now. Rennes will have to throw everyone forward in search of an equaliser, which should in turn present Krasnodar with plenty of opportunities to kill the game on the break.
Truffert hits a speculative shot from 25 yards that drifts comfortably into the arms of Safonov.
Rennes immediately respond by replacing Bourigeaud with Gboho.
It looked like a simple clearance from Martynovich, but Berg's athleticism turned it into the chance of the game!
KRASNODAR TAKE THE LEAD! 1-0! Martynovich volleys a hopeful long pass over the top of the defence and Berg manages to outmuscle Da Silva, before taking a touch and steering it past Salin!
Doku looks the most likely player to break the deadlock on either team - the clever winger has already produced three shots and a key pass today.
Doku skips away from Cabella on the edge of the box, before shaping a shot that flicks off Gazinskiy and away for a corner.
The away side's double substitution shows some much-needed urgency - they know that they need to find a goal in the final 20 minutes to take third spot in the group today.
Suleymanov comes on for Wanderson.
Hunou makes way - in Rennes' second change - with Niang taking his spot up top.
Lea Siliki departs with Grenier taking his place.
Cabella threads an incisive throughball towards Berg, but Salin anticipates the danger and rushes off his line to slide in and clear it.
Krasnodar compose themselves with a long period of possession knocking it around their back four.
The hosts are left frustrated as an errant pass from Wanderson ends another hopeful move.
Brilliant move from Rennes! Doku shimmies past Smolnikov again before squaring a neat pass into the area that Honou cleverly steps over, allowing Lea Siliki to blast a promising opportunity over the bar from 15 yards!
It's been tight so far in this second half; both teams seem afraid of conceding the opening goal and it's resulted in a cautious first 10 minutes.
Lea Siliki is booked after crashing into Smolnikov when trying to win a header.
Wanderson races past Traore to get to the byline, but in avoiding the defender's trip he takes a heavy touch and it runs away for a goal kick.
Rennes will be pleased with their six shots so far tonight - prior to this game they were averaging just 4.5 shots per game away from home in the competition.
As things stand, Krasnodar will end the game in that crucial third spot - owing to their narrow head-to-head advantage on away goals. As a result, you'd expect Rennes to throw more and more players forward in search of a winner.
Chance for Doku! The Belgian winger jinks past Smolnikov and into the box before slamming a shot at the near post that Safonov assuredly pushes away for a corner!
Krasnodar and Rennes head into the break deadlocked at 0-0 after an exciting first half. The away side started brightly and could have taken the league early on when Bourigeaud poked a shot straight at Smolnikov from close range. However, the hosts soon took control of the game and squandered plenty of chances to take the lead through Berg. Nevertheless, Rennes continued to pose a threat on the break and this one's ideally set up for a thrilling second 45.
HALF TIME: Krasnodar 0-0 Rennes
Krasnodar get the second period underway.
One minute of stoppage time is added on.
Truffert drives all the way to the byline before standing up a cross towards the back post that Bourigeaud heads straight at Safonov.
Kaio powerfully heads the resulting corner over the bar.
Brilliant save from Salin! An intricate Krasnodar move sees Cabella and Claesson play a deft one-two inside the area, before it bounces off the former and into the path of Berg who stabs it straight at Salin from close range!
After a shaky start, Krasnodar are beginning to pile the pressure on Rennes.
Smolnikov arrives late in the area to volley a Cabella cross high and wide.
Cabella lets fly from 25 yards but it's bravely charged down by Da Silva.
Huge chance for Krasnodar! Berg breaks the offside trap and finds himself clean through down the right-hand side! All the attacker needs to do is find the unmarked Claesson with a squared pass for a tap in, but he miscues his cut-back and Rennes rally to clear!
Rennes make an elegant foray forward down the left but the move abruptly breaks down after Camavinga misplaces a pass.
Wanderson prevents a counter-attack by hauling Doku over and the referee promptly awards him a yellow card.
Krasnodar sweep forward with a quick, flowing move that ends with Cabella having a shot from 18 yards deflected behind by Traore.
Wanderson darts down the right flank again before firing in a cross towards Berg, but Nyamsi hacks it clear at the near post.
Ramirez joins Nzonzi in the book after slamming into a late challenge on Hunou.
Nzonzi is shown a yellow card after cynically tripping Wanderson near the touchline.
Rennes are just starting to take control of this game; they've managed three shots inside the box over the last 15 minutes.
Hunou receives a pass from Doku inside the area but he can only blaze his shot well over.
Penalty appeal for Rennes! Doku whips in a devious cross towards the front post and it looks like Bourigeaud is going to tap it in before he falls under pressure from Smolnikov! However, the referee plays on and a VAR check amounts to nothing.
Vilhena swings in another corner for the hosts, but this time Salin confidently punches clear.
Lea Siliki goes down again on the edge of the area, but once more the referee waves play on.
The hosts build the pressure with a succession of corners that culminates with Martynovich looping an awkward header over the bar.
Chance for Rennes! Truffert whips in a dangerous cross that flicks off Lea Siliki and towards Bourigeaud who can only drill it straight at Smolnikov from close range!
Wanderson delicately lobs a throughball into the path of Berg, but Salin anticipates the danger and races out of goal to gather it.
Both sides have started with a fiery intensity as they try and lay down a marker in search of their first Champions League win.
Vilhena goes close! The Krasnodar attacker pounces on a loose ball on the edge of the area, where he lashes a fierce first-time shot narrowly over the bar!
Lea Siliki immediately races away down the right flank before tumbling under minor contact from Martynovich and the referee calmly waves play on.
Rennes get the first half underway.
The players are emerging from the tunnel and kick off is just seconds away!
Krasnodar have faced more shots (81) and more shots on target (33) than any other side in the Champions League so far this season and they’ll need to tighten up at the back if they’re to claim victory today.
Rennes make two changes after drawing with Strasbourg a few days ago: goalkeeper Salin comes in for Gomis, while Truffert replaces Maouassa in defence.
Krasnodar make one change to the side that lost to Khimki last time out – Suleymanov drops out with Wanderson taking his spot in attack.