Chasing a revised target of 209 in 46 overs under the Duckworth-Lewis method, India finished on 212 for three as they warmed-up for a seven-match one-day international series against England, starting next week.
That Scotland made as many as they did was largely down to a stand of 82 between former England cricketer Gavin Hamilton and Neil McCallum with a handy 37 off 34 balls from Craig Wright boosting the total.
India captain Rahul Dravid won the toss and elected to field and his side took two early wickets to get rid of Navdeep Poonia and Fraser Watts.
After a rain break, McCallum struck off-spinner Ramesh Powar back over his head for six.
India's reply got off to a slow start with 15 runs scored in the first seven overs. But Robin Uthappa, after a nervy start, made 55 off 62 balls before he was bowled by Wright.
Uthappa's exit was the cue for Gambhir to up his tempo and he completed his fifty off 76 balls.
Yuvraj Singh made a brisk 38 before he was yorked by Jon Blain. That allowed Dravid to come in and hit the winning runs against the side he played for in 2003 when he turned Dewald Nel off his legs.