Wales women opened their Six Nations campaign with a narrow defeat to last year's runners up Italy.
The Azzuri enjoyed the lion's share of possession and territory, but survived a spirited comeback from the hosts.
Hooker Melissa Bettoni opened the scoring before Wales centre Hannah Jones crossed from a dazzling run.
Two quick second-half tries from wings Maria Magatti and Sofia Stefan proved decisive, while Kelsey Jones' late effort revived Welsh hopes.
Wales started brightly and were rewarded with an early penalty which Robyn Wilkins slotted over.
But as momentum shifted they were made to defend relentless Italian pressure.
Bettoni looked to have scored the opening try, only for her close range effort to be ruled out by the TMO for blocking in the build up.
Magatti also celebrated in vain with her first try held up after a brave tackle by full-back Kayleigh Powell, who later left the pitch injured.
Italy scored at the third time of asking, Bettoni powering through the Welsh defence from two metres out.
Wales, who looked dangerous in attack, responded almost immediately with returning sevens player Hannah Jones enjoying a great run from the 22 to cross on her 25th cap.
Wilkins added the difficult touchline conversion to give Wales a 10-5 half-time lead.
Italy came out firing after the break and rarely left the Welsh 22. They had two further disallowed tries by the TMO before the Welsh defence eventually cracked.
An explosive break by scrum-half Sara Baratt almost saw her score but Jasmine Joyce cut her down a metre short. Magatti scooped the ball up to go under the posts, with Michaela Sillari adding the conversion.
Italy's other winger Stefan got in on the scoring soon after, with Sillari again adding the extras.
The visitors could have easily ran away with it, but Wales cut the deficit during a rare visit to the Italian half, with hooker Kelsey Jones crossing in the corner on her first Six Nations start.
And with just a score separating the sides in the dying minutes, both sets of fans rallied their sides, only for the clock to run out for Wales.
Teams
Wales: Kayleigh Powell; Jasmine Joyce, Hannah Jones, Kerin Lake, Lisa Neumann; Robyn Wilkins, Keira Bevan; Gwenllian Pyrs, Kelsey Jones, Cerys Hale, Natalia John, Gwen Crabb, Alex Callender, Bethan Lewis, Siwan Lillicrap (capt).
Replacements: Molly Kelly, Cara Hope, Ruth Lewis, Georgia Evans, Alisha Butchers, Manon Johnes, Ffion Lewis, Paige Randall
Italy: Vittoria Ostuni Minuzzi; Maria Magatti, Michela Sillari, Beatrice Capomaggi, Sofia Stefan; Beatrice Rigoni, Sara Barattin; Silvia Turani, Melissa Bettoni, Lucia Gai, Valeria Fedrighi, Giordana Duca, Ilaria Arrighetti, Giada Franco, Elisa Giordano
Replacements: Giulia Cerato, Erika Skofca, Michela Merlo, Sara Tounesi, Lucia Cammarano, Francesca Sgorbini, Laura Paganini, Benedetta Mancini