BACCHUS Marsh had a century from Ian Spiteri but Romsey could not have one key batsman anchor its innings in McIntyre Cup at the weekend.
Romsey occupied the crease for 103 overs by stumps on Saturday but could not roll its Gisborne District Cricket Association rival as the Bulls won by 21 runs.
Romsey made 248 in reply to Bacchus Marsh's 8-269 declared the previous weekend, with Spiteri's 129 the top score.
Eight Romsey batsmen made it to double figures but only Rowan Stott (45) made it past 30.
Bacchus Marsh's Bradley Nichols took 3-58 to be the Bulls' best after a long day in the field.
The win means Bacchus Marsh will have a top four spot to defend heading into this weekend's final round of the calendar year.
The Bulls' 21 points is in a three-way tie with third-placed Woodend and fifth-placed Rupertswood, the trio separated by percentage only.
Sunbury United leads the ladder with 30 points from Riddell on 24.
United took outright ladder leadership off the back of five James Hughes wickets in a 68-run win against Riddell at Langama Park.
Sunbury's 246 proved too much for Riddell who were all out for 177.
At Macedon, the home team snared a second win of the season to move to 15 points, six off finals pace, with a six-wicket win against Rupertswood.
Chasing 234 for victory, Macedon's Trevor Shipp (81) and Taylor Stevenson (56) made 142 for the first wicket before Chris Axton (47 not out) guided the team to victory in the 79th over. Macedon made 4-235.
Woodend successfully defended 151 by bowling out Wallan for 88, making 1-92 off 20 overs before stumps was called on day two.
In B grade, St Anthonys retained fourth spot by successfully chasing Bacchus Marsh's 145, making 9-154 in reply.
The Twenty20 final takes place at Gilbert Gordon Reserve in Woodend tonight, with Woodend hosting Sunbury United.
Woodend beat Wallan by two runs in last week's semi-finals while Sunbury United was 71 runs too good for Cgrade outfit Hesket.
Tonight's final starts at 5.30pm.