The Saddlers led on 11 minutes when Lalkovic's shot deflected to Bradshaw, who drove low past Ben Williams.
City equalised when Billy Clarke headed down to Lee Evans, whose shot beat Etheridge's dive on 64 minutes.
But Walsall won it nine minutes later as Romaine Sawyers' pass set Lalkovic free to drill low past Williams.
Despite the top two Coventry City and Gillingham both dropping points, third-placed Burton Albion hammered Colchester, so Walsall remain fourth. But they and Burton both have a game in hand, this Tuesday night when Walsall face a derby trip to Shrewsbury.
Walsall manager Dean Smith told BBC WM 95.6:
Media playback is not supported on this device
"They're a good team and they've gone seven games without conceding a goal, and were 10 games unbeaten.
"But we make a habit of stopping teams in their tracks when they're on good runs.
"It was just an excellent display. In the first half we were outstanding.
"In the second half, they showed what a good team they are and came back at us and we had to withstand an awful lot."
Walsall strikers Tom Bradshaw and Milan Lalkovic were both on target at Bescot to hand Bradford City their first defeat in 11 games.