The hosts broke the deadlock in the fifth minute when Bristol Rovers goalkeeper Steve Phillips fumbled Adam Bolder's corner and Tony Craig capitalised by drilling the loose ball across the six-yard box for Kandol to tap home.
Millwall were gifted their second in the 18th minute after Aaron Lescott's attempted backpass failed to reach Phillips and Kandol latched onto it before firing into the net from a tight angle.
But Bristol Rovers responded almost immediately whenRickie Lambert headed home Stuart Campbell's corner.
However, the visitors' hopes of an equaliser were dashed in the 72nd minute when Gary Alexander connected with Paul Robinson's long ball and unleashed a fierce shot past Phillips.
Jo Kuffour set up a tense finish when he drilled home from inside the area after Chris Hackett had failed to clear the danger in the 79th minute, but Kenny Jackett's side held on to boost their promotion hopes.