Fly-half Ben Botica only played the first half but his 15 points set Aviva Premiership leaders Harlequins on the way to their second victory in the LV= Cup.
- Related Content
The 23-year-old son of former Wigan and Castleford rugby league star Frano Botica kicked five penalties from five attempts for Quins, 31-30 winners at Northampton last weekend.
Botica's teenage replacement Louis Grimoldby added two second-half penalties to kill off a fightback by Bath, who had been comprehensively outplayed in the first period.
Former All Blacks fly-half Stephen Donald kicked three penalties for the visitors, with his replacement Tom Heathcote kicking one.
But their cause was not helped by the sin-binning of prop Anthony Perinese in the first half and replacement hooker Brett Sharman in the second.
Harlequins, with first-choice centres Jordan Turner-Hall and George Lowe returning from knee and ankle injuries respectively, totally dominated the first half but lacked the cutting edge to score a try.
Botica, standing in for the rested Nick Evans, booted Quins into the lead with a first-minute penalty, landing another three minutes later.
He kicked his third in the 14th minute following a scrum infringement but Donald reduced the deficit soon after.
The Harlequins scrum was proving a real handful and, after back-pedalling Bath offended again in the 19th minute, Botica stroked over his fourth penalty to make it 12-3.
Bath were punished for yet another scrum infringement and Perinese was sin-binned by referee James Jones after 26 minutes.
However, three minutes later Donald kicked his second penalty when Harlequins were caught offside on their own 22-metre line.
Quins responded with Botica's fifth penalty from wide out on the left.
After being forced to defend for virtually the entire half, Bath finally made their first incursion into the Quins 22 in the final minute.
Harlequins desperately defended a wave of attacks and even though Bath prop Charlie Beech forced his way over, he was held up by weight of numbers.
Botica, who had taken a heavy knock late in the first half, was replaced by teenager Grimoldby, who made his senior debut.
Donald pulled back another penalty for Bath six minutes into the second half, but the visitors then suffered a blow with the loss of centre Ben Williams, who was carried off on a stretcher with a leg injury.
Bath replaced Williams with Semesa Rokoduguni and sent on first-choice scrum-half Michael Claassens - making his 150th appearance for the club - for Chris Cook in a bid to turn their fortunes around.
Claasens immediately linked with Donald to set up an attack and Bath posed a far more serious threat as Quins lost their earlier momentum.
Heathcote, who had replaced Donald seven minutes earlier, cut the deficit to three points with a 65th-minute penalty but Grimoldby restored the six-point margin three minutes later and added another penalty eight minutes from time.