A last gasp try from Wales scrum half Keira Bevan saw Wales beat Ireland 15-13 in Dublin, bouncing back after a loss to Spain last week.
Ireland had gone ahead after 74 minutes with an Ellen Murphy penalty but Wales did enough and it means that Ireland end 2019 with just one win to show for the whole year.
It was a bitterly disappointing end for the hosts, who surely thought they had done enough with a 13-10 lead into the 83rd minute but there are positives to take heading into the remainder of their Autumn tests.
Ireland showed willingness to put the ball through the hands during the early stages of the contest, with captain Ciara Griffin once again a prominent figure.
The home side were awarded a series of penalties and they looked to their set piece for a potential deadlock-breaker. Beibhinn Parsons impressed and her strong carry brought Ireland within touching distance of the Welsh whitewash.
The determined Welsh defence held firm, though, and earned a turnover scrum on the 10-minute mark. Both sides found it difficult to create attacking momentum, with both packs largely dictating the flow of the game.
That was until Ireland's flying full-back and player-of-the-match Eimear Considine took the initiative with a brilliant weaving run through the defence. She was stopped just short, but some quick recycling led to powerful prop Linda Djougang crashing over to the left of the posts for her first try for Ireland.
Wales forced Ireland to dig deep in defence for an extended spell as they won a number of penalties to advance up the left touchline.
The sturdy Irish defence maintained the 5-0 lead up to half-time, with Wales flanker Alex Callender knocking on from a late attacking move to bring a scrappy first half to a close. While the game never truly caught fire before the break, that all changed on the restart.
Considine started well again and broke into the Welsh 22, combining slickly with Murphy who managed to release Enya Breen who cut inside Powell a few metres out for a smartly-taken five-pointer.
However, a missed Murphy conversion kept Wales within reach and they soon opened their account. Centre Robyn Wilkins superbly judged a 30-metre penalty from the kicking tee, reducing the deficit to 10-3 in the process as experienced players like Elinor Snowsill were getting more and more of a foothold in the game.
The contest remained delicately poised moving into the final quarter and a smashing Welsh strike move squared things up in the 68th minute.
Using quick lineout ball, lively replacement Sioned Harries burst onto a Wilkins pass in midfield and sliced open the home defence to raid over to the right of the posts. Wilkins comfortably added the extras to make it 10-all and set up a fascinating finale.
Ireland were hell-bent on breaking their autumn duck and were on course to do so following Murphy's successful penalty kick. However, there was enough time for Wales to gain a couple of crucial scrum penalties and forge a final assault on the Irish line.
Although the girls in green almost turned them over with an incisive counter ruck, they could not prevent the alert Bevan from spotting a sliver of space to score with 83 minutes on the clock. Wilkins' conversion effort was pushed wide to the right, but Wales had done enough to come out on top.
IRELAND WOMEN: Eimear Considine (UL Bohemians/Munster); Lauren Delany (Firwood Waterloo Ladies/IQ Rugby), Enya Breen (UL Bohemians/Munster), Sene Naoupu (Old Belvedere/Leinster), Beibhinn Parsons (Ballinasloe/Connacht); Ellen Murphy (Gloucester-Hartpury/IQ Rugby), Nicole Cronin (UL Bohemians/Munster); Laura Feely (Galwegians/Connacht), Cliodhna Moloney (Wasps/IQ Rugby), Linda Djougang (Old Belvedere/Leinster), Nichola Fryday (Old Belvedere/Connacht), Judy Bobbett (Blackrock/Leinster), Ciara Griffin (UL Bohemians/Munster) (capt), Edel McMahon (Wasps/Connacht), Anna Caplice (Harlequins/IQ Rugby).
Replacements used: Hannah O'Connor (Blackrock/Leinster) for Bobbett (49 mins), Victoria Dabanovich-O'Mahony (Old Belvedere/Leinster) for Moloney, Anne-Marie O'Hora (Galwegians/Connacht) for Feely, Kathryn Dane (Old Belvedere/Ulster) for Cronin (all 52), Niamh Ni Dhroma (Old Belvedere/Leinster) for Caplice (66), Michelle Claffey (Blackrock/Leinster) for Breen (67). Not used: Katie O'Dwyer (Railway Union/Leinster), Larissa Muldoon (Railway Union/Leinster).
WALES WOMEN: Kayleigh Powell (Ospreys); Paige Randall (Cardiff Blues), Alecs Donovan (Ospreys), Robyn Wilkins (Cardiff Blues), Courtney Keight (Ospreys); Elinor Snowsill (Ospreys), Ffion Lewis (Scarlets); Gwenllian Pyrs (RGC), Kelsey Jones (Ospreys), Amy Evans (Ospreys), Natalia John (Ospreys), Gwen Crabb (Ospreys), Alex Callender (Scarlets), Bethan Lewis (Scarlets), Siwan Lillicrap (Ospreys) (capt).
Replacements used: Keira Bevan (Ospreys) for F Lewis (53 mins), Robyn Lock (Ospreys) for Callender, Megan Webb (Cardiff Blues) for Donovan (both 58), Sioned Harries (Scarlets) for John (64), Carys Phillips (Ospreys) for Jones, Cerys Hale (Cardiff Blues) for Evans (both 69), Rebekah O'Loughlin (Cardiff Blues) for Randall (76). Not used: Gwenllian Jenkins (Scarlets).
Referee: Rebecca Mahoney (New Zealand)