Town took the lead on 20 minutes via man of the match Jarrod Sammut who raced 40 yards to score by the posts. He also put over the conversion.
Sammut and Jack Murphy linked well to put Jarrad Stack powering over, taking advantage of a gap in the Batley defence. Sammut’s conversion attempt came back off the post.
When Batley substitute James Brown was sin-binned for alleged use of the elbow, Town increased their lead with a Murphy try, converted by Sammut.
Batley grabbed a lifeline when centre Chris Ulugia made the line and Scott Leatherbarrow put over the conversion.
But a minute after the restart, Town were on the scoreboard again via Kurt Horton.
It was game-on again, however, on 49 minutes when Batley scored their second try. Sean Hesketh took defenders over the line with him under the posts and managed to get the ball down; Leatherbarrow converted.
This was a key phase of the game, with plenty of time for Batley to salvage something. They piled on the pressure but Town dug in doggedly again and held all that the Bulldogs threw at them.
But in the final 10 minutes Town powered away to win impressively with tries from Callum Phillips and Miller.
Workinton Town: Murphy, Miller, Mossop, Stack, Carter, Doran, Sammut, Coward, C. Phillips, Shackley, B. Phillips, Horton, McAvoy. Substitutes: Forber, Olstrum, Walker, Szostak.
Batley Bulldogs: Campbell, Reittie, Squires, Ulugia, A. Brown, Southernwood, Leatherbarrow, Hirst, Blake, Rowe, Bretherton, Scott, Gledhill. Substitutes: Nicholson, Hesketh, Lillycrop, J. Brown.
Referee: J Bloem (RFL).