Grant fired home from close range twice in the first half as Rotherham lost for the first time in eight games despite a late consolation from Jamie Clarke.
Rotherham began brightly with Danny Harrison stinging Mikhael Jaimez-Ruiz's fingertips with a rasping drive.
Reuben Reid, who had scored four goals in his last two games, then missed a golden opportunity to give the Millers the lead on ten minutes but blazed over from just ten yards.
Aldershot showed signs of life moments later when a clearance found Jake Robinson surrounded by three defenders on the edge of the Millers area, and he quickly turned and lofted the ball over Andy Warrington but it landed on the roof of the net.
For all Rotherham's probing, it was the Shots who took the lead, Grant flicking the ball home from inside the penalty area after a static Rotherham defence failed to clear Lewis Chalmers' long throw.
Kirk Hudson nearly doubled the lead when he got round the back of Green but he couldn't keep his shot down.
Mark Hudson then spurned a good chance to level when he blazed over from 16 yards on 35 minutes.
Aldershot doubled their lead six minutes from the break when again they caught Rotherham cold at a set-piece. This time it was a Scott Davies corner that Grant headed past Warrington.
At the other end, Jaimez-Ruiz maintained the two-goal cushion with a key save from Hudson.
Straight after the restart Rotherham were let off when Andy Sandell's corner crashed straight against the post.
Mickey Cummins set up Reid for what would have been a lifeline on the hour but his shot was well saved again by Jaimez-Ruiz and then Jamie Green shaved the crossbar with a long-ranger.
Substitute Clarke breathed life into Rotherham when he nodded home Dale Tonge's 78th-minute cross but it was too little too late for the Millers.