In the final outcome Gloucester edged it by 12 points to 6, but there was never more than six points in it and the drama carried on right up until the final whistle.
Gloucester enjoyed most of the possession, most of the territory and created most of the scoring opportunities.
But the visitors hung on tenaciously, never throwing in the towel, and could so very nearly have snatched the win late on when Paul Warwick's break came up just short.
But Gloucester's set piece and game management provided the platform for Twelvetrees to kick his team to victory, and the sigh of relief at the final whistle was palpable.
Credit to the home crowd, more than 15, 500 packed into Kingsholm to back their team and they did themselves proud. The win was an early Christmas present for them.
The win takes Gloucester above Newcastle Falcons in the table, but another tough test against a side scrapping for points with the trip to London Irish next weekend.
After an unforeseen delay to kick off due to one of the cross bars being damaged as part of the pre match entertainment, the game finally got underway at 2:30pm.
The effect of the delay of either side was unknown, but Worcester scrum half Jeremy Su'a fumbled the kick off. His pack were penalised at the ensuing scrum, and Billy Twelvetrees gave Gloucester the early lead.
However, Twelvetrees failed to find touch a couple of minutes later, Gloucester gave away a breakdown penalty and Ignacio Mieres levelled the scores.
A scrappy period of play followed. Both teams were trying to make things happen, but handling errors and refereeing decisions stopped either team gaining a real advantage.
Mieres had a chance to edge his team in front when Nick Wood held on the tackle, but his long range penalty effort, from inside his own half, was short and wide.
Gloucester, for their part, threatened after a half break from Henry Trinder, well supported by Charlie Sharples, but a knock on brought the move to an end.
But it was tenacious Gloucester defence that had the Warriors under pressure on 20 minutes. A penalty kick went to the corner, but the catch and drive was held out by good defence from the visitors.
The pressure was coming from Nigel Davies' side, and Worcester were looking a bit stretched but had a let off when Twelvetrees dragged a 26th minute penalty wide of the left hand post.
Still the Cherry and Whites pressed, but to no avail. A smart blindside break from Morgan and Cowan almost opened up the visitors defence, but the Warriors got back to snuff out the threat.
The half hour mark came and went and, with the scores locked at 3 points apiece, the tension was growing at Kingsholm. However, Twelvetrees nudged over a 36th minute penalty as the Warriors' scrum buckled under real pressure.
Half time came with no further incident of note, and Gloucester went into the break having enjoyed very much the upper hand, but not having the points to show for it.
Several good scoring opportunities had been created, but not been finished off and an early second half score for Gloucester would certainly help to settle the nerves.
But Worcester were certainly still in the mix, and Nigel Davies' side would need to be on their mettle to maintain the lead.
One hugely pleasing aspect for Gloucester though, was the solidity of the set piece. On several occasions, the visitors had creaked. The Cherry and Whites needed to make this count.
As if to emphasise the possible danger, a couple of missed tackles right at the start of the second half almost had Gloucester in trouble, but a timely interception came to the rescue.
The nerves continued to jangle as Twelvetrees missed with a long range 46th minute penalty, before Mieres levelled the scores on 53 minutes. It was nailbiting stuff, and Twelvetrees kept his nerve to kick his third penalty on the hour mark.
Controversy then broke out. Worcester overthrew a lineout in their own 22, straight to Dan Robson. The scrum half went for the line but was halted by a high tackle by flanker Richard de Carpentier.
The crowd bayed for a penalty try, and he yellow card was duly brandished, but Gloucester had to settle for a fourth penalty from Twelvetrees and a 12-6 lead.
With 12 minutes to go, it was desperation time for Worcester and a line break from Andy Symons had alarm bells ringing, but Josh Drauniniu was bundled into touch at the corner. The momentum was shifting and Jonny May was yellow carded for taking out a man in the air.
The visitors had certainly upped the tempo, and very nearly snatched the lead with six minutes to go as replacement fly half Paul Warwick jinked his way to within inches of the Gloucester line.
But a handling error broke Worcester hearts just as they looked set to clinch a much needed win, as it did moments later when, attacking from deep with no time left on the clock, a loose pass was fumbled into touch to end their hopes.
|Gloucester Rugby Score Card|
|Worcester Warriors Score Card|