Connacht ended a run of eight straight Pro12 defeats as a last-minute drop goal by Dan Parks earned the Irish side victory over the Dragons in Galway.
Pat Lam's side's first Pro12 win since the opening weekend of the season moves them off the bottom of the table.
Dan Evans's early try helped the Dragons lead 8-3 at half-time.
Jason Tovey's second penalty kept the Dragons 11-6 ahead but Fionn Carr's 75th-minute try and Parks's drop goal sealed Connacht's dramatic win.
Connacht had not tasted victory in the Pro12 since their 25-16 home victory over Zebre on 7 September.
However, Connacht went into Saturday's clash with their morale boosted by their shock Heineken Cup win in Toulouse two weeks ago.
Lam's side lost their return clash against the French giants last weekend but the Irish province had been lifted by their European endeavours over the last fortnight - as was shown by Saturday's display.
Despite going 8-0 down to the Dragons inside 16 minutes, Connacht - helped by a dominant scrum and line-out - fought their way to a gutsy three-point win.
An early ankle injury suffered by Dave McSharry forced a reshuffle of the Connacht backline with Carr introduced and Robbie Henshaw and Gavin Duffy making positional switches.
Henshaw's missed tackle allowed Ross Wardle to break through midfield in the eighth minute and tee up full-back Evans for his five-pointer.
Tovey missed the conversion but was back on target with a 16th minute penalty as the Welsh region kept pressing with a strong wind at their backs.
A scrum penalty allowed Parks to open Connacht's account in the as the strength of the wind dropped noticeably.
After the restart, Parks cut the Dragons lead to two points but Tovey quickly replied to put five between the teams again.
Dragons prop Owen Evans was sin-binned for the foot trip at the hour mark but Parks missed the resulting penalty as Connacht failed to make their man advantage over the next 10 minutes.
Toby Faletau's composure on the ball looked set to frustrate Connacht but a deft crosskick by Parks five minute from time set up unmarked Carr to score in the corner.
Former Scotland international Parks missed the tough conversion but the fly-half landed his winning drop goal with just over a minute left.
Connacht: Robbie Henshaw; Gavin Duffy, Eoin Griffin, Dave McSharry, Matt Healy; Dan Parks, Kieran Marmion; Brett Wilkinson, Jason Harris-Wright, Nathan White; Mick Kearney, Craig Clarke (capt); John Muldoon, Jake Heenan, Eoin McKeon.
Replacements: Fionn Carr for McSharry 6 mins, George Naoupu for Heenan 49, Rodney Ah You for White 66, Paul O'Donohue for Marmion 68, Denis Buckley for Wilkinson 71, Andrew Browne for Kearney 71,
Not used: Dave Heffernan, Jack Carty.
Dragons: Daniel Evans, Will Harries, Pat Leach, Ross Wardle, Hallam Amos, Jason Tovey, Richie Rees, Owen Evans, Sam Parry, Francisco Chaparro, Andrew Coombs (c), Cory Hill, Lewis Evans, Nic Cudd, Toby Faletau.
Replacements: T.Rhys Thomas for Parry 58, Dan Way for Chaparro 58, Hugh Gustafson for Lewis Evans 64, Matthew Screech for Hill 66, Ashley Smith for Wardle 68.
Not used: Ieuan Jones, Wayne Evans, Steffan Jones.
Referee: Alain Rolland