Needing just 8 to win, Maharashtra won in two overs on the third day of the semi-finals at Holkar Cricket Stadium.
A fighting century by Wriddhiman Saha (108 not out) saved Bengal the ignominy of innings defeat. His ton helped Bengal to 348 all out in the second innings, a lead of just 7 runs.
Maharashtra are in the final for the first time since 1992-93 where they lost to Punjab.
Maharashtra will meet either Karnataka or Punjab in the title clash to be played in Hyderabad from January 29.
Maharashtra 8/0 in 2 overs and 455 beat Bengal 114 and 348 all out in 77.3 overs (Wriddhiman Saha 108 not out, Sudip Chatterjee 49, Sourav Sarkar 35, Arindam Das 34, Samad Fallah 3/110, Anupam Sanklecha 3/84, Domnic Joseph 3/80).