Warriors were unable to ride out Storm Dennis despite a try on his Premiership debut from Nick David as Bath held on for a narrow victory at rain-lashed Sixways.
Chris Pennell was only just off target with a last second howitzer penalty attempt from five metres inside his own half which would have snatched a dramatic win had it not drifted narrowly wide on the wind.
Driving rain and a strong southerly wind throughout made conditions difficult for both sides particularly the kickers with Duncan Weir, so often Warriors’ match-winner, suffering most.
The Scotland international fly-half struck one monster penalty midway through the second half but five more of his kicks went astray.
In the end it was tries from Bath at the start of each half which proved decisive in a contest that was gripping despite the miserable conditions.
Zach Mercer went over after 90 seconds after Warriors failed to secure the kick-off and Francois Louw went over for another close range try after Warriors went down to 14 men at the start of the second half when Graham Kitchener was sin-binned for impeding scrum-half Will Chudley.
Warriors recovered well from the poor start and played their best rugby into the wind in the first half.
Weir reduced the deficit with an eighth minute penalty and Warriors pulled level when Cornell du Preez drove over from close range for his first try for the club and Weir added the extras.
Weir added another penalty into the wind, which gave Warriors the lead but the conditions got the better of him when a kick into the wind at the end of the first half banana-ed wide.
Bath started the second half as they had the first and capitalised when Kitchener was yellow-carded with Louw going over from close range followed by another try from a series of close range attacks which resuted in Josh McNally ploughing over.
Weir pulled back three points with a 62nd minute penalty and David set up a grandstand finish when he outpaced the cover defence to dot down in the corner after Sam Lewis had put him in space with a superb pass in the difficult conditions.
Weir’s conversion drifted agonisingly wide and Bath looked like running down the clock when they won two penalties at the breakdown which allowed them to clear upfield.
But Bath gave away a penalty at the breakdown and Pennell backed himself to win the match and only just failed to do so as Warriors had to settle for a losing bonus point.
Warriors | 15 Chris Pennell, 14 Scott van Breda, 13 Ollie Lawrence, 12 Francois Venter, 11 Nick David, 10 Duncan Weir, 9 Francois Hougaard, 1 Ethan Waller (Bower 68), 2 Matt Moulds (C) (Taufete’s 68), 3 Nick Schonert (Palframan 68), 4 Anton Bresler, 5 Graham Kitchener (A Kitchener 54), 6 Ted Hill, 7 Marco Mama, 8 Cornell du Preez (Lewis 68).
Replacements | 16 Joe Taufete’e, 17 Ryan Bower, 18 Richard Palframan, 19 Andrew Kitchener, 20 Sam Lewis, 21 Michael Heaney, 22 Jono Lance, 23 Ryan Mills
2m | Mercer try 0-5
3m | Priestland con 0-7
8m | Weir pen 3-7
10m | Priestland pen 3-10
13m | Du Preez try 8-10
14m | Weir con 10-10
22m | Weir pen 13-10
46m | Louw try 13-15
47m | Priestland con 13-17
57m | McNally try 13-22
62m | Weir pen 16-22
68m | David try 21-22