After a big first innings lead from Queensland, Test allrounder Mitch Marsh answered his critics with a fighting Sheffield Shield century to launch a remarkable fightback by Western Australia.

Warriors captain Marsh was finally dismissed for 151, the visitors 7-450 in their first innings at stumps on day three at Allan Border Field, grabbing an unlikely two-run overall lead.

Queensland had no shortage of bowling options in the muggy Brisbane weather with the Bulls spreading the load across eight bowlers. 

Marsh - dropped on 41 on Sunday - shared a 185-run, sixth wicket stand with William Bosisto, who is unbeaten on 132 - his highest first class score and only second ton.

Marsh has reversed his fortunes after a difficult start to the match.

Jimmy Peirson (82 not out) and Michael Neser (56) were both dropped off his bowling in a 115-run seventh wicket stand on Saturday as Queensland built what seemed a daunting first innings total.