Although they were out-scored 2-1 on try count Morriston, whose backs coach is former Wales outside-half Arwel Thomas, probably just about deserved it.
It was nip and tuck with Morriston having the better of the first half to lead 12-5, Aberdare dominated the third quarter and drew level before losing their way after Dale Lloyd was sin-binned for foul play.
Scannell’s opportunist try – it came from a charge-down – handed Morriston a five-point lead and they held their nerve to take the spoils.
Morriston had almost caught cold from the off when full-back Jac Lewis seemed to lose sight of the ball. Aberdare wing Ben Miller hacked on but the ball rolled over the dead ball line a split second before he arrived.
It was a fast and frantic start as the players piled into the opposition with Corey Evans giving Morriston the lead in the ninth minute with a penalty from the 22m line.
Aberdare, with flanker Owen Young, the son of Cardiff coach and former Wales Dai Young in the thick of the action, attacked and went for the corner when they were awarded a penalty.
They drove the resultant line-out for player-coach Rhys Shellard to help prop Dan Shanahan over the line for the opening try. Jamie Richards failed to convert but they were in front.
Morriston wing Chris Shill chased the restart and leapt high to take a remarkable one-handed catch. He found Luke Butler on his inside but the centre was clattered.
Aberdare offended, however, and Evans punished them with a penalty to regain the lead, albeit it by a point. He increased it to four after Morriston won a penalty at a scrum.
Morriston were awarded another close to half-time with long-range goal-kicker Lewis being summoned to tackle it and it flew off his left foot to establish a 12-5 lead, which was a reward for the way they had wrested control.
Aberdare began the second half strongly but were unable to cross the opposition try-line, eventually coughing up possession to allow Morriston to clear.
But more pressure told as Morriston lost Ryan Durston to the sin-bin for a professional foul. Aberdare went for the corner and Shanahan was driven for his second try, wing Richards converting from a wide angle to tie the score at 12-12.
The match was coming to the boil. Morriston lost flanker Dexter Hadley with a calf injury and they were on the back foot as Aberdare upped the tempo.
But the binning of Lloyd for a high tackle turned the tide and brought Scannell’s winning try.
Aberdare: Matthew Davies; Jamie Richards, Josh Muxworthy, Jarrad Rees, Ben Miller; Oli Lewis, Ellis Stephens; Dan Shanahan, Ben Staton (capt), Mitchell Griffiths, Kian Carter, Jon Watts, Josh Lloyd, Owen Young, Rhys Shellard.
Subs: Adam Fenlon, Nathan Terry, Kieron Parry, Adam Parry, Dale Lloyd, Kian Stephens, Thomas Roberts, Justin Thomas.
Tries: Shanahan (2); con: Richards.
Morriston: Jac Lewis; Chris Shill, Ryan Carpenter, Luke Butler, Leigh Andrew; Corey Evans, Matty Davies; Jamie Jones, Jack Rodon (capt), Nick Jones, Levi Burgess, Ryan Durston, Dexter Hadley, Dillon Grindod, Rhys Morgan.
Subs: Connor Edwards, Chris Forshaw, Jon Ball, Rhys Bevan, Brad Scannell, Christian White, Alex Thomas, James Jones.
Try Scannell; pens: Evans (3), Lewis.