European Challenge Cup: Bath 34-20 CA Brive
|European Challenge Cup quarter-final|
|Bath (20) 34|
|Tries: Faleatau 2, Homer, Rokoduguni 2 Cons: Priestland3 Pens: Priestland|
|CA Brive (6) 20|
|Tries: Sanconnie 2 Cons: Germain 2 Pens: Germain 2|
Semesa Rokoduguni scored two tries to help Bath edge past Brive to reach their second European Challenge Cup semi-final in four years.
Taulupe Faletau scored Bath's first try and England winger Anthony Watson put Tom Homer over before Rokoduguni touched down to put the hosts 20-6 up at the break.
Faletau went in again before Fabien Sanconnie grabbed a double in response.
Rokoduguni's second try four minutes from the end sealed a tense victory.
Bath, who were beaten by Northampton in an all-English Challenge Cup final in 2014, will travel to face the winners of Sunday's quarter-final between Ospreys and Stade Francais in the last four.
Brive, ninth in the French Top 14 competition and the club Bath beat to be crowned European Cup champions 19 years ago, were made to rue their early profligacy and only had two Germain penalties to show for a strong start.
Faletau ran in the game's opening try and following a Rhys Priestland penalty, Homer and Rokoduguni touched down in quick succession to see the Blue, Black and Whites take a 14-point advantage into the second half.
Wales number eight Faletau went in for his second and Bath's fourth try before Brive mounted their fightback, with Sanconnie the focal point, scoring a quickfire brace of tries.
Nathan Charles, the Australia hooker who was born with cystic fibrosis, made an impressive debut in a punishing contest, having recently arrived on a shot-term deal to bolster a Bath side decimated by injuries.
Rokoduguni's solo effort, evading a series of attempted tackles, clinched victory at the Recreation Ground, but there was still time for Brive to have another try chalked off in a dramatic finish.
Bath rugby director Todd Blackadder: "I am really pleased with the response from last weekend. There were a lot of things to fix, but I feel we are definitely on the right track.
"It wasn't a case of baby out with the bath water, but our attack just hadn't been functioning. We hadn't been scoring tries, and there were reasons for that.
"I was a little bit concerned when they got back to 27-20. We kept feeding their strengths. They are a big team, and we didn't want to get into a set-piece battle with them.
"We started out with plenty of intent, and I am pleased with the result, although we can be so much better than what we were in the second half.
"I thought Brive did a good job trying to shut us down, but I was pleased with our intent. We tried to play, and we changed our mindset from where it had been."
Bath: Watson; Rokoduguni, Joseph, Banahan, Homer; Priestland (co-capt), Fotuali'i; Catt, Charles, Palma Newport, Ewels (co-capt), Charteris, Mercer, Ellis, Faletau.
Replacements: Graham, Obano, Knight, Douglas, Grant, Cook, Hastings, Tapuai.
Brive: Germain; Ngwenya, Mignardi, Burotu, Masilevu; Ugalde, Iribaren; Devisme, Da Ros, Buys, Snyman, Mela, Hireche (capt), Luafutu, Sanconnie.
Replacements: Acquier, Asieshvili, Bekoshvili, Le Devedec, Waqaniborutu, Lobzhanidze, Laranjeira, Galala.
For the latest rugby union news follow @bbcrugbyunion on Twitter.