Saints, unbeaten in Super League this season, took their time to get going and had to wait until 19 minutes before Keiron Cunningham opened the scoring.
The home side never looked back and ran nine more tries, Maurie Fa'asavalu and Paul Wellens both crossing twice.
Doncaster's efforts were rewarded when prop Gareth Handford scored late on.
Doncaster coach Tony Miller: "I thought that if we could just contain them in the first 20 minutes then it could have been a lot closer as a contest.
"But St Helens are very clinical, so when they do get opportunities then nine times out of 10 they will score a try.
"The big turning point came when we tried kicking up the line and it hit Jamie Lyon's legs and he ran 80 metres to set up Sean Long.
"But all credit to the players because we have had a virus in the camp and Graham Holroyd got off his sickbed to play.
"We finished the last five minutes on top and I thought we deserved a try, because it made a lot of difference for the lads and was very fitting."
St Helens: Wellens, Gardner, Lyon, Hardman, Meli, Pryce, Long, Graham, Cunningham, Fa'asavalu, Bennett, Wilkin, Gilmour.
Replacements: Roby, P Anderson, V Anderson, Fozzard.
Doncaster: Royston, Colton, Ross, Newlove, D Mills, Holroyd, Leaf, Handford, Jordan, Tonks, Green, Robinson, Lawton.
Replacements: Cuffe, Sozi, Lowe, Martinez.
Att: 6,159
Referee: Peter Taberner (Wigan)