Batley took charge in the first half and led 16-0 by half-time. The Lions rallied after the break but the Bulldogs always seemed to have enough in the tank to keep the visitors at arms’ length.
Sam Wood and Louis Jouffret scored try braces, while Alex Bretherton and Sam Smeaton also got on the scoresheet.
Full-back Dave Scott kicked three conversions and a penalty. Stand-off Oscar Thomas landed the extra points for Swinton.
Batley are ninth in the table on eight points with the Lions locked in 11th on four.
Dewsbury Rams, meanwhile, are just a place of their derby rivals but are three points adrift after losing out 34-12 at Leigh Centurions. Rams were only 8-6 down at half-time but couldn’t quite keep pace with Leigh in the third quarter.
Kyle Trout’s second-half touchdown, converted by Liam Finn, gave Dewsbury a ray of hope but Leigh picked up the pace once again to to add 10 more points to their tally.
Simon Brown, playing in the centres, scored Rams’ first-half try, also converted by Finn.
Prior to the game, Dewsbury coach Lee Greenwood had warned that his players could be blown away by an in-form Leigh side, but his matchday squad managed to avoid an embarrasing final scoreline.