Swansea started strongly and took the lead after five minutes via a penalty try after the referee ran out of patience with Bedwas being shunted backwards. Cameron Clement added the conversion.
They doubled their lead after nine minutes when left wing Richard Williams ran in a good try from deep, Clement again adding the extras and then adding a penalty to put his side 17 points ahead.
Bedwas fought hard to reduce the deficit but unforced errors saw try scoring opportunities wasted. Four minutes before the break Swansea back rower Chris James was sin binned for a ruck offence and a minute later Bedwas were back in the game as hooker Rhys Hutcherson barged his way over the line, Powell converting.
One minute into the second half Powell added a penalty goal, Clement also added to his tally before going close with a monster kick of 60 metres which fell just short as Swansea tried to put the game to bed.
Bedwas were in no mood to give up and Lewis Hudd crossed on the left out wide, Powell missing the conversion. A raft of Bedwas replacements gave Bedwas fresh impetus and after missing one penalty attempt Powell found his range to close the gap to two points going into the last 10 minutes of the game.
Five minutes from time Bedwas took the lead for the first time as prop forward Joe Mills burrowed his way over for his first try in Bedwas colours just right of the posts, Powell adding the extras to claim the spoils for Bedwas.
Elsewhere in the Premiership league leaders Pontypridd suffered a shock defeat to Aberavon which enabled both Llandovery and Carmarthen Quins made up ground on the Sardis Road outfit.
Ponty seemed to be strolling with a 20-3 lead at the break but the Wizards produced a dazzling second half to snatch a 29-27 victory.
Llandovery pulled to within two points of the league leaders with an emphatic 7-44 away win at Cardiff, running in six tries in the process. Carmarthen also posted a win, by 16-10 at home to Bridgend.
Cross Keys maintained their push for a play-off place with a bonus point win away at Neath to come away with a 19-32 triumph.
On the Friday evening previous Llanelli and Newport battled out a 22-22 all draw at Parc y Scarlets.
Principality Premiership results
Llanelli 22 Newport 22
Aberavon 29 Pontypridd 27
Bedwas 25 Swansea 20
Cardiff 7 Llandovery 44
Carmarthen Quins 16 Bridgend 10
Neath 18 Cross Keys 32
Llanelli 22 Newport 22