European Challenge Cup
Connacht (14) 35
Tries: Devine, Jansen, Treacy, Bolton, Boyle Cons: Hanrahan 3, Ioane 2
Cardiff (8) 20
Tries: Lee-Lo, Thomas, Adams Con: Thomas Pen: Sheedy
Connacht defeated Cardiff in Galway to set up a home European Challenge Cup quarter-final against Racing 92 next weekend.
Tries from scrum-half Matthew Devine, number eight Sean Jansen, wings Finn Treacy and Shayne Bolton and replacement Paul Boyle set up the victory.
Cardiff responded with tries from centres Rey Lee-Lo and Ben Thomas and wing Josh Adams.
The visitors' second-half revival was weathered by Connacht who celebrated a third win against Cardiff this season.
The Irish province, who finished the pool stages as top seeds and have now won five European games in this campaign, will have home advantage against their French opponents in the last eight at the Dexcom Stadium on Saturday evening.
British and Irish Lions duo Adams and Taulupe Faletau returned alongside Wales prop Keiron Assiratti and captain Liam Belcher in eight changes from the Cardiff side that lost to Benetton.
Connacht recalled half-backs JJ Hanrahan and Devine, who popped up with the opening try in the third minute before Sheedy responded with a penalty.
The Irish were denied a second try because of a Darragh Murray forward pass to Treacy.
The classy number eight Faletau was heavily involved in the attacking move that led to Connacht full-back Mack Hansen being shown a yellow card for a professional foul.
The visitors took advantage with a free-flowing move that was finished off by Lee-Lo in the right corner.
The numbers were evened up when Cardiff lock Josh McNally was sent to the sin-bin for a cynical offence.
Connacht capitalised when Jansen dived from short range to give the hosts a 14-8 half-time lead.
With Connacht restored to their full complement, front-row duo Finaly Bealham and Dave Heffernan combined to release Treacy to sprint away to score.
Cardiff initially spurned some opportunities as they were turned over, before a fine individual effort from centre Thomas which he converted himself.
Wing Harri Millard started the move which led to Cardiff's third try before a superb long pass from replacement flanker Alex Mann released Adams to score to reduce the deficit to one point, although Thomas missed the conversion.
With Ireland centre Bundee Aki impressive, Connacht responded with a fine move finished strongly by Bolton in the corner.
The try was created by a searing break from replacement fly-half Josh Ioane, who also expertly converted from the touchline to take the advantage to more than one score.
That proved the turning point and after Thomas had been sent to the sin-bin, replacement flanker Boyle dived over to seal the victory.
Connacht: Mack Hansen; Shayne Bolton, Hugh Gavin, Bundee Aki, Finn Treacy; JJ Hanrahan, Matthew Devine; Jordan Duggan, Dave Heffernan (capt), Finlay Bealham, Oisín Dowling, Darragh Murray, Josh Murphy, Shamus Hurley-Langton, Sean Jansen.
Replacements: Dylan Tierney-Martin, Denis Buckley, Jack Aungier, Niall Murray, Paul Boyle, Caolin Blade, Josh Ioane, Cathal Forde.
Sin-bin: Hansen (33)
Cardiff: Cameron Winnett; Josh Adams, Rey Lee-Lo, Ben Thomas, Harri Millard; Callum Sheedy, Johan Mulder; Danny Southworth, Liam Belcher (capt), Keiron Assiratti, Josh McNally, Teddy Williams, Alun Lawrence, James Botham, Taulupe Faletau.
Replacements: Evan Lloyd, Corey Domachowski, Rhys Litterick, Rory Thornton, Alex Mann, Thomas Young, Ellis Bevan, Rory ...