Crooks’s brilliant brace, his second double in a month, condemned the hosts to their second successive defeat, while victory saw Paul Warne’s Millers move within a point of the play-off places after their third win in four games.
Warne’s charges defended resolutely and took their chances to secure a good win.
Goalkeeper Daniel Iversen pulled off an acrobatic stop to deny Emyr Huws in the third minute before Crooks put the Millers in front eight minutes later when he converted Ben Wiles’s cross.
It was almost two minutes later when Matthew Olosunde fired off target after being found at the back post by Joe Mattock.
Striker Michael Smith nodded over in first-half stoppage time when he should have done better.
Three minutes after the break, Wiles and Crooks linked up once again for the second when the latter applied a cool finish.
Rampant Rotherham pushed to put the game to bed with Smith’s header being kept out by a fine Tomas Holy save.
The hosts kicked into action as they tried to ensure they ended the night top, but the Millers defended for their lives and could have added to their tally, substitute Chiedozie Ogbene firing Smith’s inviting cross over before Wiles almost completed a hat-trick of assists when Michael Ihiekwe nodded against the post.
Ipswich Town: Holy, Vincent-Young, Chambers, Wilson, Garbutt, Skuse, Nolan, Rowe (Edwards, 67), Huws (Georgiou, 59), Keane (Norwood, 67), Jackson. Unused substitutes: Downes, Norris, Georgiou, Woolfenden, Judge, Edwards, Norwood.
Rotherham United: Iversen, Jones, Iheikwe, Wood, Mattock, Olosunde (Morris, 84), Wiles, Lindsay, Clarke (Ogbene, 69) Crooks (Barlaser, 79), Smith. Unused substitutes: Price, Hastie, Lamy, Lapado.
Referee: John Busby (Oxfordshire).