Ballymena 7-9 Armagh
City of Armagh retained the First Trust Ulster Senior Cup on only their second ever final appearance after three Cormac Fox penalties saw them come from behind to deny Ballymena at a bitterly cold Kingspan Stadium.
Just as in last year's showpiece occasion, when the sides also crossed swords, Armagh again managed to battle back to get the better of the Braidmen and take the trophy back to the Palace Grounds.
It was hardly a memorable final which was played in bitterly cold conditions with a fierce wind blowing down the pitch which favoured Ballymena in the opening 40 minutes, but none of that took away from Armagh's celebrations after this bruising encounter.
And though the Braidmen's pack gave their all with Marcus Rea, David Whann and Connor Smyth prominent, they were unable to edge this contest as Armagh had greater control of half-back while Neil Faloon and Robert Whitten carried effectively for them.
Armagh managed to play the conditions with slightly more authority, once they had the wind at their backs, though Ballymena scored the only try right at the end of the first half when Michael Stronge helped put winger Jonny McMullan over.
Indeed, Ballymena led 7-3 after their gale-assisted opening half with Tim Small adding a tremendous touchline conversion to McMullan's effort.
It was a blow for the holders as they had enjoyed most of the possession in the first 40 minutes and, into the elements, they had taken an early lead through a Fox penalty.
After 11 minutes of having most of the possession and playing into the strong wind, Armagh won a penalty after winger Shea O'Brien's break had been taken on by Andrew Willis and Harry Doyle.
Fox did the needful after 12 minutes by kicking the three points.
Four minutes later, Ballymena won a penalty at the breakdown and, even though it was inside their own half, Small had a pop at goal but it fell well short.
Just before the half-hour, the Braidmen won themselves another penalty and though it was closer to goal, Small went for the corner.
It didn't seem like such a bad call as Ballymena's pack were putting in some good work but ultimately Faloon intervened to win a turnover penalty for Armagh and they cleared.
Ballymena came again towards the end of the first half after strong drives from Smyth, JJ McKee and Rea only for the ball to be knocked on near the Armagh line.
Even so, the Braidmen had the final say of the half. After Armagh had knocked on, Stronge broke blind off the scrum and put McMullan in space, though the winger had to work hard to make the corner.
Small then provided an excellent conversion to give Ballymena their 7-3 lead at the interval.
They also made the brighter start to the new half and a scrum penalty gave Small a shot at goal but he missed from just outside Armagh's 22.
Armagh then began to put some decent plays together but Fox's 56th-minute penalty came from a high tackle call against the Braidmen after a strong carry out of his 22 by Whann.
Fox's successful strike cut Ballymena's lead to just one point but the out-half then knocked-on three minutes after the hour following a penalty which Armagh had put into the corner before then manoeuvring themselves into a good position to score.
The holders then upped the ante and a bobbling ball near Ballymena's line was adjudged to have been kicked dead, leading to two scrums and a series of penalties, the last being kicked by Fox with nine minutes left to nudge Armagh back in the lead.
Try as they did, Ballymena couldn't break out of their half and their increasing desperation to try anything saw Evin Crummie nearly intercept to score for Armagh only to lose the ball while, shortly afterwards, Faloon snatched possession and was driven over only for a score to be ruled out.
The game ended shortly afterwards when Fox kicked the ball out to allow Armagh to begin the celebrations.
City of Armagh: R Purvis, A Willis, C Colvin (capt), C Cousens, S O'Brien, C Fox, H Doyle; P Mullen, A Smyth, P Fletcher, J McKinley, P Starrett, J Hanna, R Whitten, N Faloon.
Replacements: J Morton, O Kiernan, N Simpson, E Crummie, J Pollock.
Ballymena: R McBurney, J McMullan, M Norris, G Baillie, D Montgomery, T Small, M Stronge; N Cladera, A Ferguson, C Cundell, D Whann, C Smyth, JJ McKee, Marcus Rea (capt), J Gallagher.
Replacements: J Spence, J Bill, J Taggart, C White, D Reynolds
Referee: O Quinn