He had to dig deep to see off Larsson after losing the first set tie-break and trailing 3-0 in the second.
"It's the kind of match I needed before Wimbledon," the third seed admitted. "I need matches and you can't replicate this in practice. You need to win games like this."
Hopes of an all-British final were dashed when Arvind Parmar lost to big-serving Australian Wayne Arthurs.
The British No 5 took the first set on a tie-break but was never able to break the lefthander's brilliant serve and eventually lost 6-7, 6-2, 6-4.
Arthurs faces Switzerland's Michel Kratochvil in the first semi-final after he upset second seed Fabrice Santoro of France 6-1, 6-3.
Meanwhile, world No 1 Lleyton Hewitt pulled out of the Ordina Open grass- court Championship at Den Bosch in Holland today suffering from a stomach virus.
The Aussie said: "I felt it for the first time when I was practising on Monday. I lost a lot of energy and fluid on Tuesday in the heat. I took Wednesday off and went to see my doctor.
"My match yesterday against Mikhail Youzhny was a struggle which didn't improve the situation."
He was hoping to complete his warm-up for Wimbledon, where he starts as No1 seed next week, with a quarter-final win today against Frenchman Arnaud Clement.
Hewitt said: "It was a tough decision, especially when you want to defend your title."
Tim Henman and Rusedski now know their first-round opponents for Wimbledon next week.
Henman will play France's Jean-Francois Bachelot and Rusedski faces fellow lefthander Jurgen Melzer of Austria after both players survived the qualifying tournament at Roehampton.
Bachelot, 25, who beat British No 3Martin Lee in a clay-court event in Edinburgh in May, is ranked 113th in the Champions Race, while 21-year-old Melzer is ranked 143rd.