The hosts got off a good start and could have taken the lead if not for a good save from David Forde, who tipped Nathan Redmond's free kick past the post.
Millwall thought that they had taken the lead when Chris Taylor's effort was turned in by Richard Chaplow but it was ruled offside, only for the referee to have a change of heart. However, after an appeal by the hosts' players, he changed his mind yet again and disallowed the goal.
Thomas almost gave the home side the lead when he met Paul Caddis's cross with a first-time volley but Forde was there to make the save.
After the break, the Blues took the lead when Thomas turned his marker on the edge of the area and fired a shot past Forde into the bottom corner.
The visitors almost took the lead but Sean St Ledger's header crashed off the bar as the defender met Alan Dunne's cross to the back post.
Both teams pressed for a winner but neither could find the net, as they settled for a point each at St Andrew's.