Set a target of 271, Railways were bundled out for 222 in 83.3 overs with Laxmi Ratan Shukla leading from the front taking 3/45.
Also, Ashok Dinda (2/77), Sourav Sarkar (2/22) and Shib Shankar Paul (2/47) returned with two apiece to take Bengal to the semis for the first time since 2006-07.
Needing 154 to win at the start of the day, Railways most trusted batting combination of Mahesh Rawat (14) and Arindam Ghosh (50) looked to threaten the Bengal camp under overcast conditions after Dinda gave the first breakthrough in the 10th over in the form of Nitin Bhille (5).
But it was once again the Bengal skipper who stood out, this time with the ball to send back Rawat while the veteran Paul, with his immaculate line and length, forced danger man Ghosh to make an error derailing the Railways.
Ghosh's finely executed innings of 50 from 107 balls with eight fours came to an end after he was deceived by a fine late outswinger from Paul.
In fact, Bengal dropped four catches - by Lahiri, Shukla, Dinda and Arnab Nandi to prolong their wait.
Paul broke into an impromptu 'Gangnam Style' jig after dismissing Karn Sharma while Sarkar wiped off the tail with two wickets in two balls after the new ball was taken in the 82nd over.
Sarkar knocked Ranjit Mali's leg stump for a first ball duck as the entire Bengal team jumped in celebration and was joined by the support staff.
Watched by a more than 2000 strong Sunday crowd, the entire Bengal contingent also did a victory lap in what was their last match at Eden this season.
Playing without their their main batsman and regular skipper Manoj Tiwary, India pacer Mohammad Shami and Wriddhiman Saha, who missed four matches due to national duty in South Africa, the Shukla-led Bengal were almost written off following their mediocre performances in the early stages.