James Tomlinson finished with figures of 5-44 to guide Hampshire to their second LV= County Championship Division Two win of the season as they beat Glamorgan by 43 runs in a close-fought game at the SWALEC Stadium.
After leaving Glamorgan 215 to win in 90 overs, Tomlinson claimed the first four wickets to fall as the home side subsided to 58 for five.
Although Murray Goodwin and Mark Wallace - who hit 56 not out and 44 respectively - put on 80 for the sixth wicket, the damage had been done. Hampshire rose a spot to fifth with 16 points to seventh-placed Glamorgan's five.
At the start of the day Marcus North completed a five-wicket haul as Glamorgan wrapped up the Hampshire innings in the space of 22 balls.
The visitors were only able to add six more runs to their overnight total of 173 for nine before Danny Briggs offered a bat-pad catch to Gareth Rees at short-leg.
That gave North only his third five-wicket haul in first-class cricket for figures of 5-30 from 15.1 overs.
Glamorgan made a dreadful start to their victory quest, being reduced to 42 for three inside 10 overs by Tomlinson.
The seamer had Ben Wright and Stewart Walters both caught in the slips by Liam Dawson and Sean Ervine respectively.
Tomlinson claimed his third wicket to have first-innings centurion Rees caught at second slip and the left-arm seamer made it four straight victims when he trapped North lbw as the home side slipped to 55 for four.
Before lunch David Balcombe chipped in with the fifth wicket when Jim Allenby edged to Dawson at slip.
But either side of the interval Goodwin and Wallace launched their impressive recovery. By lunch Glamorgan were 64 for five, still 157 runs adrift of their victory target.
Glamorgan were looking comfortable until Wallace was trapped leg before, half forward, to give Tomlinson his fifth wicket and leave the Welsh county 138 for six at tea.
At that stage Glamorgan needed 83 to win from 35.3 overs with Goodwin still there on 38 not out.
Though Goodwin lost Dean Cosker to a leg-side stumping off Danny Briggs, he went to his fifty from 156 balls with six fours despite being rapped on the thumb by Tomlinson when he was on 39.
Michael Hogan made a breezy 18, including 11 off a Briggs over, before he was caught trying to clear mid-off Neil McKenzie off Sohail Tanvir. It left Glamorgan on 172 - needing a further 49 to win.
And an over later Will Owen played on to Briggs, making it 177 for nine before Michael Reed lasted only two balls as Hampshire wrapped up the win with 22 overs remaining.