Opting to bat in a rain-reduced 30-over-a-side affair, Sylhet could muster 140 before they were all out with two balls still to be bowled.
Lower middle-order Iqbal scored highest 27 followed by Nahid who chipped in with 24. Shovon (18), Sayeeduzzaman (13) and opener Ridwan (12) were the other notable run getters.
In their turn, Dhaka were shot out for 96 in 30 overs with Rashed hammering highest 18.
Four Sylhet bowlers Shafiuddin Ahmed, Iqbal, Rafiqul and Selim Shahed evenly shared eight wickets. Of those, Shafiuddin was the most economic as he cenceded only 13 runs.
In the quarterfinal, Sylhet will meet Rajshahi on May 29.