The error count was off the scale from both sides and a draw just about seemed the right result as both teams looked ready for the A League season to end.
Gloucester spent the majority of the first few minutes camped in the Bath 22, aided by a couple of errors from the visitors, but determined defence kept the home side at bay.
However, the first try came on 8 minutes after a number of comical handling errors by Bath gifted Gloucester an opening and flanker Richard Jenkins bundled his way over in the corner. Tim Taylor converted from in front of the Shed for a 7-0 lead.
Bath fly half Paul Roberts had a chance to respond two minutes later but his penalty from the Gloucester 10m line drifted right of the posts.
However, Bath were rewarded for some enterprise on 14 minutes when a good break by left wing Rhys Crane was eventually finished off from close range by hooker Ted Stagg. Roberts' conversion went in off the post to level the scores.
Gloucester responded willingly with the experienced half back duo of Williams and Taylor pulling the strings but imprecise handling and ball retention in promising positions was letting the side down.
Andy Williams came closest to breaking the deadlock on 33 minutes when he took tapped lineout ball and scooted through a hole in the middle and looked set to round the last man and score only for a despairing tap tackle to force him into touch just short.
Gloucester then looked set to drive the Bath pack back over their own line from an attacking 5m scrum but lost control to allow Bath to gleefully snatch the loose ball and move into the Gloucester 22 for the first time in what seemed an eternity.
Bath almost added insult to injury as they kicked for the corner and tried to drive over before opting to go wide with a cross kick that left wing Crane failed to gather with a score looking likely.
But Crane made no mistake two minutes in injury time as full back Moralee ghosted onto Nick Scott's long pass to break the defensive line and Crane had enough strength and pace to make the corner.
Roberts' conversion drifted wide to take Bath into a 12-7 half time lead with virtually everyone at Kingsholm wondering how on earth Gloucester trailed given their superiority in terms of possession and territory.
Gloucester kicked off the second period playing with a gusto that seemed to suggest a half time talking to and the pack quickly tore into Bath.
The visitors were eventually softened up and replacement scrum half Jordi Pasqualin was able to sneak around the blindside and score to level the scores at 12 all.
However, Bath quickly stormed back into the lead as they controlled possession for several phases before a slick inside pass found Crane once again coming onto the ball at pace and he scored under the posts to make the conversion easy for Roberts and a 12-19 scoreline.
With both sides making a number of replacements, the error strewn pattern of the match continued and neither side threatened and there was little for the crowd to shout about.
That was until Bath overthrew a lineout near their own line, Jenkins gathered and Andy McRae popped the ball to centre Ryan Tomlinson who scored under the posts. McRae promptly added the easy conversion to make the score 19 all going into the final 10 minutes.
Bath looked out on the feet, hardly surprising given their tackle count, and Gloucester wore them down as the game went into injury time as a long miss pass gave Reuben Haile a stroll to the line and a 24-19 lead.
Incredibly, there was still time for Bath lock Jamie Collins to plunge over in the corner to level matters and Bath almost snatched it at the death but were inches short as the final whistle blew.