|Scarlets (3) 21|
|Tries: Evans, Collins Con: Thomas Pens: Thomas 2, S Shingler|
|Connacht (10) 19|
|Tries: Healy Con: Ronaldson Pens: Ronaldson 2, Carty 2|
Steven Shingler kicked a dramatic last-minute penalty to take Scarlets back to the top of the Pro12 after they fought back from 10-0 down to beat Connacht.
Wing Matt Healy's superb opening try helped the visitors seize the early initiative, while Aled Thomas kicked Scarlets' first-half points.
Steff Evans and Michael Collins went over for tries as Scarlets went ahead.
Jack Carty kicked Connacht into the lead with two minutes left, but Shingler replied to seal Scarlets' win.
Having failed with a similar late penalty chance in their festive derby defeat by arch-rivals Ospreys, Shingler was given the chance to redeem himself after replacing Scarlets' starting 10 Aled Thomas.
Having also lost at Cardiff Blues, on New Year's Day, Scarlets were desperate to get their campaign back on track.
Shingler's kick capped an admirable fight-back against a Connacht side who have impressed this season to send Scarlets back above Leinster, who had been top following a clinical win over Ospreys in Swansea on Friday.
Pat Lam's Connacht stayed fourth as they earned a losing bonus point.
Clash of the Kiwis
The midfield was dominated by New Zealand-bred players with Scarlets' Regan King and Hadleigh Parkes facing Connacht's Bundee Aki, who partnered Irishman Craig Ronaldson.
Shoulder-charging King cost Aki 10 minutes in the sin-bin while King followed in the first half after illegally killing a Connacht attack.
After Healy's 65-metre dash for his opening try, Parkes halted a second with a well-executed tackle that forced the Irishman to drop the ball as he attempted to dab down.
Ronaldson added the conversion to the penalty that punished King's indiscretion.
But Scarlets had the final say of the opening period as Thomas kicked their first points with a penalty.
The home side got closer with Thomas' second penalty and after scrum-half Aled Davies' superb work in a multi-phase attack, wing Steff Evans slid over at the corner.
Thomas converted to put the hosts ahead for the first time.
Ronaldson levelled from the restart, but Scarlets again took the lead after King drifted wide on to Thomas' well-weighted pass.
The once-capped New Zealand All Black timed his feed to try-scorer Collins to perfection.
Ronaldson's 63rd minute departure left Carty with Connacht's kicking responsibilities. He put the visitors two points behind and kicked another with two minutes remaining to give them the lead.
But the drama continued as replacement Ronan Loughney's tip-tackle at a ruck gave Shingler his chance.
|More from BBC Wales Sport|
|Pro12: Scarlets 21-19 Connacht|
|FA Cup exit 'huge setback' - Swans boss Curtis|
|Bale has to do the same as everyone - Zidane|
Scarlets boss Wayne Pivac told BBC Radio Wales: "With the last two matches being narrow losses, we couldn't really afford another one if we wanted to stay in the top four and also top six, because it's that close at the moment with, I think, eight teams going for six spots.
"Both teams were in a similar position with players unavailable and a recent run of losses, I guess so to get back on the winning way was really important."
Scarlets: Michael Collins; Steff Evans, Regan King, Hadleigh Parkes, DTH van der Merwe; Aled Thomas, Aled Davies; Rob Evans, Ken Owens (capt), Samson Lee, Tom Price, Lewis Rawlins, Aaron Shingler, John Barclay, Morgan Allen.
Replacements: Ryan Elias, Phil John, Rhodri Jones, Maselino Paulino, Rory Pitman, Rhodri Williams, Steve Shingler, Steff Hughes
Connacht: Tiernan O'Halloran; Niyi Adeolokun, Bundee Aki, Craig Ronaldson, Matt Healy; Jack Carty, Kieran Marmion; Finlay Bealham, Tom McCartney, Nathan White, Ultan Dillane, Andrew Browne, John Muldoon (captain), Jake Heenan, Eoghan Masterson.
Replacements: Dave Heffernan, Ronan Loughney, Rodney Ah You, Aly Muldowney, Sean O'Brien, Ian Porter, AJ MacGinty, Rory Parata.
Referee: Marius Mitrea (Italy)
Assistant Referees: Gwyn Morris, Stuart Kibble (both WRU)
Citing Commissioner: John Charles (WRU)
TMO: Paul Adams (WRU)