Edinburgh had to settle for a Heineken Champions Cup last-16 away tie at Leicester despite beating Saracens 20-14.
The Scottish side were heading for a home match in the next round until a late try from flanker Ben Earl secured Saracens a losing bonus point at the DAM Health Stadium.
That pushed them ahead of Edinburgh into fourth place in Pool A on tries scored, handing them a home game with Ospreys. Dave Cherry and Pierre Schoeman crossed for Edinburgh while Blair Kinghorn added two penalties and the same amount of conversions, with Alex Goode kicking three penalties for Saracens before Earl’s late effort.
Jamie George, however, could be a doubt for England’s Six Nations opener after suffering a suspected concussion following a high tackle on Luke Crosbie which resulted in a head-on-head collision.
He was cleared by the Saracens medical team to return to the fray after his 10 minutes in the sin-bin but was subsequently stood down by the independent match doctor. George faces a minimum seven-day stand-down period, with England starting their Six Nations campaign against Scotland on February 4.
Edinburgh raced into a third-minute lead when they kicked a penalty to the corner, then battled through four phases on Saracens’ line before hooker Cherry picked up from the base of a ruck and muscled over.
Kinghorn added the conversion, and then almost immediately slotted a penalty from directly in front of the posts when Jamie George was called for a high challenge on Schoeman.
Saracens bounced back with Goode kicking the points from a scrum penalty, but Edinburgh were soon back on top – and they were helped by the visitors losing two players to the sin-bin inside three minutes.
England hooker George and Italy prop Marco Riccioni were both yellow carded for failing to lower their body height in the tackle and causing head-on-head collisions.
Riccioni concussed himself and did not return after his spell on the sidelines.
Edinburgh failed to make their two-man advantage count on the scoreboard, with Jamie Ritchie passing up a golden opportunity when he lost the ball in contact as he dived under the posts.
Once back to full strength, Saracens narrowed the gap with a second Goode penalty following another collapsed scrum.
That left Edinburgh just four points ahead at the break, which was remarkable given that they had dominated the first half with 71 per cent possession.
The home side edged further ahead at the start of the second half with a Kinghorn penalty, but that was promptly cancelled out by a successful shot at goal from Goode.
The game stretched away from Saracens when Maro Itoje became the third visiting player to see yellow for a cynical offside which prevented Henry Pyrgos from moving the ball from the base of an attacking ruck.
Edinburgh kicked to the corner and Schoeman powered over from the line-out maul, with Kinghorn adding the conversion.
As you would expect, Saracens fought right to the end, and Edinburgh lost Sam Skinner to the sin-bin for collapsing a maul near his own line.
The hosts managed to hold out for a few more minutes, but eventually cracked when a long passage of play from Saracens eventually opened up a gap on the left for Billy Vunipola to send Earl over, with Goode unable to add the conversion.
Montpellier 21-21 London Irish
London Irish’s European campaign came to an end as reigning French Top 14 champions Montpellier came from 21 points down to force a 21-21 draw in their Heineken Champions Cup clash.
The draw in the round four game in Pool B at the GGL Stadium meant Irish failed to record a win in the pool stages as their European hopes ended.
The visitors were 21 points up after 48 minutes, Adam Coleman, Juan Martin Gonzalez and Agustin Creevy all crossing in an impressive display.
But Montpellier grew into the game in the second half and got over through Thomas Darmon, Vincent Giudicelli and Cobus Reinach to level the scores, allowing Sale to qualify for the European Challenge Cup round of 16.
Irish were beaten 32-27 by Montpellier at the Gtech Community Stadium in their opening Pool B game and went on lose their next two games before being denied again on French soil.
Both teams went into the match looking to bounce back from defeats in round three, with Montpellier losing 35-29 at Ospreys and Irish falling 14-28 at home to DHL Stormers.
Toulouse 20-16 Munster
The boot of full-back Melvyn Jaminet steered Toulouse to a narrow victory that earned them a home draw in the Heineken Champions Cup last 16 and condemned Munster to a road trip in the knockout stages.
Jaminet, deputising for the suspended Thomas Ramos, kicked 15 points as he took the game away from the Irish visitors in a second half that saw the lead change hands four times before the hosts finally clinched a 20-16 win.
Five-time European champions Toulouse finished second in Pool B behind holders La Rochelle, while Munster missed out of a top-four finish that would have guaranteed a game for them at Thomond Park in the round of 16 at the end of the Six Nations.
Toulouse started the stronger and stormed into an eight-point lead. Jaminet despatched the first of his five penalties in the second minute, and things got even better for the hosts five minutes later when their Argentina wing Juan Cruz Mallia got past Shane Daly to cross in the right corner.
Jaminet pushed his touchline conversion inches wide of the far upright, but he was back on target in the 11th minute to make it 11-0.
Munster turned the game around with tries from John Hodnett and Tadhg Beirne either side of half-time, but Joey Carberry missed both conversions to limit their advantage.
The lead was exchanged as both sides took advantage of penalties, but Jaminet struck twice more to seal victory for the hosts.
Round of 16 draw
Leinster vs Ulster
Exeter vs Montpellier
Sharks vs Munster
Saracens vs Ospreys
Leicester vs Edinburgh
Stormers vs Harlequins
Toulouse vs Bulls
La Rochelle vs Gloucester
Ties to be played between March 31 and April 2