Bahrain sealed its place in the Pepsi ICC World Cricket League Division 6 in Singapore after a comfortable 196-run over Japan.
Recovering from yet another top-order collapse, when Patrick Giles-Jones added five wickets to the seven he took the day before reduced it to 24-4, half-centuries from Qamar Saeed (75 not out), Adil Hanif (73) and Ashraf Yaqoob (51) helped it to an impressive 260 all out.
In reply, Japan couldn't cope with the Bahrain attack, collapsing to just 64 all out, as Naeem Amim, Qamar Saeed and Yaser Sadeq remarkably all registered the same bowling figures of 3-15.
'Everybody is delighted as we have achieved the main target that we set ourselves before we had come here. Our other target is to try and win the final on Sunday,' said Mohsin Kamal, the Bahrain coach.
'We have qualified for Division 6 and everybody hopes we can continue to progress to the top.'
Elsewhere, a century from Jeremy Frith inspired Guernsey to an eight-wicket win over Nigeria which means that it now knows a win in its final group game on Saturday will guarantee it the second promotion spot to Division 6.
'After yesterday's defeat there was some big pressure on us to make sure we got a result. I was really pleased to take the responsibility for getting the runs and take us over the line,' said Frith, who has now scored at least 50 in his last three matches, and who reached his century by hitting a four to win the match.
'There is a rest day tomorrow and we know we have to play well again on Saturday.'
Nigeria, who batted first after winning the toss, should arguably have reached a higher total than 217-5 after some disappointing Guernsey bowling, with Endurance Ofem leading the way for the African side with 78 not out.
In reply, Guernsey had learned its lessons from the previous day's poor run chase against Bahrain and played much more positively with the bat, with some attractive stroke play supported by more aggressive running between the wickets.
A 147-run partnership between Frith and skipper Stuart Le Prevost (59 not out) guided the side home with three overs remaining.
In the other match of the day, six wickets from leg-spinner Iain Latin saw Gibraltar register a 39-run win over Suriname. Batting first, a half-century from skipper Chris Rocca helped his side to 218-8, before Latin's 6-23 saw Gibraltar bowled out for 179 all out.
Friday is a rest day in the tournament while in Saturday's final group matches, Suriname plays Guernsey, Bahrain takes on Nigeria and Gibraltar plays Japan.