Ireland fell short in a ferocious Test in Pretoria, as world champions South Africa ended their losing streak against Andy Farrell’s side.
A flurry of tries in the final 15 minutes puffed up the scoreboard to 27-20, but for the opening hour this was a tense, and relentless Test match rugby.
When Kurt-Lee Arendse ran in a South African try just two minutes in, it looked like Ireland were in for a long night, but led by the outstanding Caelan Doris, they always stayed in touch with Rassie Erasmus’ side.
While they remained in touch, they couldn’t get their noses in front.
The turning point came just short of the hour mark when James Lowe galloped down the touchline to score a brilliant try after some quick thinking from Craig Casey launched a counter-attack.
Had the try stood, it would have levelled the game, and given Jack Crowley the chance to kick Ireland ahead, but the score was ruled out after a particularly strict TMO call deemed he had played the ball off his feet.
Lowe was a central character across the 80 minutes. In the first half it was his brilliant offload to Jamie Osborne (below) that allowed the debutant score a try on his debut.
Unfortunately for Lowe, two errors in the final quarter proved decisive. First, his attempts to keep the ball in touch backfired when it landed kindly for Cheslin Kolbe to score, while he later mishandled a restart to give the Boks a scrum, from which they earned a penalty try.
While Ireland were just about second best, they did have their chances, and late tries for Conor Murray and Ryan Baird ensured there would be just one score between the sides heading into the final minute.
But South Africa are world champions for a reason, holding out for a first win over Ireland since 2016.
There had been hints that this South Africa side were going to play a more expansive game under new attack coach Tony Brown, and they showed it inside three minutes.
With possession just inside the Irish half, and just in from the right touchline, they took advantage of an Irish defence that was slow to come off the line, and quick hands from Willie le Roux and Jessie Kriel put Cheslin Kolbe and Arendse in a two-on-one with Calvin Nash, and they executed it perfectly to send Arendse sprinting in for an early try.
Pollard converted to make it 7-3, but after the hosts made a mess of the restart, it gave Ireland a first attacking opportunity in the 22.
Their opening lineout was clean and off the top for Bundee Aki to get over the gainline, but after winning a penalty and choosing to tap and go, a Peter O’Mahony offload went to ground, allowing the Springboks clear their lines.
After a frenetic start, the game settled down to a simmer, as Crowley and Pollard traded penalty kicks to keep seven points between the sides, 10-3, after a quarter of an hour.
The world champions were continuing to stretch the defence with the width they were getting on the ball, but Ireland scrambled well to hold them out. First, Sheehan came up with an interception in his own 22 after the Boks had manufactured an overlap, and then two minutes later Crowley slowed up Kolbe with a brilliant tackle close to the line.
Ireland were inviting pressure on themselves, and when Crowley kicked out on the full to give South Africa a lineout in the Irish 22, a penalty for the hosts followed, as Pollard moved the Springboks 13-3 in front shortly before the 30-minute mark.
Crowley should have reduced the arrears two minutes later as he saw a routine penalty pull left and wide, but he made up for if on 35 minutes when his looping pass created space for the opening Irish try.
Ireland had been attacking the South Africa 22 when the out-half threw a skip-pass out to Sheehan on the left wing, and the hooker moved infield before a gorgeous back-door flick to James Lowe on the overlap. It looked like Lowe was running down a blind alley towards touch as he was met with a double tackle from Kolbe and Kriel, but he offloaded back infield as Osborne collected to stretch out and score a brilliant debut try.
Crowley’s touchline conversion drifted wide to leave the scores at 13-8, and Ireland stayed within touching distance of their hosts until half time, even if they had to ride their luck to get there; Pollard missed a penalty on 38 minutes, before Doris came up with an important turnover at the edge of his 22 to end the opening half.
Ireland lost Sheehan and Henshaw at half time, with Ronan Kelleher and Garry Ringrose brought on in their place, and Ringrose made an instant impact in defence before Beirne produced an excellent offload to repel a Springbok attack.
On 45 minutes, South Africa missed another chance to extend their lead when Kelleher was penalised for kicking through the ruck, but for the second time in a row Pollard’s kick was off target.
Both sides went to the benches early in the second half, as Ryan Baird and James Ryan came on for Ireland in 50 minutes, while the Boks unleashed their ‘Bomb Squad’, making six changes in the pack, although it didn’t have the desired instant impact as they coughed up a penalty on the first scrum.
Ireland were living off scraps in attack, but after Van der Flier produced a big turnover in his own half on RG Snyman, and it allowed them their first attack of the second half, but after another promising carry from Doris, Ryan was isolated as he brought the ball into contact, with Malcom Marx winning a penalty.
Just short of the hour mark, it looked like Ireland were in for a try out of nowhere, when a turnover in midfield saw Casey put Lowe clear down the wing, and while the Leinster man raced 60 metres to score, it was chalked off after Kelleher was deemed to have played the ball on the ground.
To add to the frustration, it gave Pollard the chance to move his side eight points in front, but his kicking woes continued as pushed it right and wide.
Ireland were holding their own and starting to enjoy more possession in the Springboks half, aided by a brilliant 50:22 from Casey.
The Munster scrum-half had been acquitting himself well in the biggest start of his career, but his day was ended on 64 minutes when he hit the ground hard after a tackle by his former team-mate Snyman, landing on his head.
After a lengthy stoppage, it all fell apart for the Six Nations champions.
After winning a scrum penalty, Lowe tried to prevent Pollard’s kick from going into touch, but after flicking the ball back infield, it actually sat up perfectly for Kolbe who kicked ahead to score.
Pollard maximised the punishment as he finally found his radar off the tee, converting to make it 20-8, with 14 minutes to play.
Ireland started chasing the game, and three quick-fire penalties against South Africa saw Arendse sent to the sin-bin, and while Doris was held up over the tryline, Ireland fired back instantly from the restart; setting up a ruck in midfield, Finlay Bealham’s inside ball to Kelleher put the hooker into space, and he in turn passed to Murray who ran in to score.
Crowley converted, and with five minutes left it looked like Ireland had a puncher’s chance heading down the stretch.
But after a handling error from Lowe off the restart, it gave the home side a five-metre scrum. Smelling blood, the Boks drove through the Irish pack, resulting in a penalty try and yellow card for Kelleher, which looked like sealing the deal.
With less than 90 seconds to play, Ireland did still fire a shot as Baird touched down in the corner, but it was merely a consolation as the world champions took a 1-0 lead in the series.
South Africa scorers: Tries: Kurt-Lee Arendse, Cheslin Kolbe, Penalty try Cons: Handre Pollard (2)
Pens: Handre Pollard (2)
Ireland scorers: Tries: Jamie Osborne, Conor Murray, Ryan Baird Cons: Jack Crowley
Pens: Jack Crowley
South Africa: Willie le Roux; Cheslin Kolbe, Jesse Kriel, Damian de Allende, Kurt-Lee Arendse; Handre Pollard, Faf de Klerk; Ox Nche, Bongi Mbonambi, Frans Malherbe; Eben Etzebeth, Franco Mostert; Siya Kolisi (capt), Pieter-Steph du Toit, Kwagga Smith.
Replacements: Malcolm Marx (for Mbonambi, 49), Gerhard Steenekamp (for Nche, 49), Vincent Koch (for Malherbe, 49), Salmaan Moerat (for Mostert, 49), RG Snyman (for Etzebeth, 49), Marco van Staden (for Kolisi, 49), Grant Williams (for De Klerk, 64), Sacha Feinberg-Mngomezulu (for Pollard, 74).
Ireland: Jamie Osborne; Calvin Nash, Robbie Henshaw, Bundee Aki, James Lowe; Jack Crowley, Craig Casey; Andrew Porter, Dan Sheehan, Tadhg Furlong, Joe McCarthy, Tadhg Beirne; Peter O’Mahony (capt), Josh van der Flier, Caelan Doris.
Replacements: Rónan Kelleher (for Sheehan, 40), Cian Healy (for Porter, 53-58 and 73), Finlay Bealham (for Furlong, 63), James Ryan (for McCarthy, 49), Ryan Baird (for O’Mahony, 49), Conor Murray (for Casey, 64), Ciarán Frawley (for Osborne, 45), Garry Ringrose (for Henshaw, 40).
Referee: Luke Pearce