Walsall opened up a commanding nine-point lead at the top of League Two by beating promotion rivals Doncaster on Boxing Day.