Walsall 0 Colchester United 2
Danns fired home his ninth goal of the season in the 76th minute and Iwelumo sealed the win two minutes from time with his 14th of the campaign to earn the FA Cup giant killers their 14th victory from the last 16 league games.
Walsall only had themselves to blame for suffering their first defeat in 12 games at Bescot.
They dominated the game in terms of possession in the second half and created enough chances to have won the game themselves.
But Walsall lacked a cutting edge in front of goal – something manager Paul Merson hopes to remedy by signing a new striker.
Promotion-chasing Colchester, who had beaten Sheffield United in the FA Cup at Bramall Lane last weekend, struggled to make an impact in attack before Danns struck.
They only tested goalkeeper Joe Murphy once through an eighth minute header from Mark Yeates before Danns made his decisive contribution.
Walsall were dominant in terms of chances created but could not find a way past the Colchester goalkeeper Aidan Davison.
On-loan Nottingham Forest winger Kevin James powered his header goalwards in the 13th minute only to see Davison push the ball around the post.
James Constable failed to connect with a header when faced with an open goal, Anthony Gerrard fired wide after a surging run into the area while Taiwo Atieno and Michael Leary were both denied by Davison.
Danns made them pay for the failings when he forced home his fifth goal in seven games after Greg Halford flicked on a Kevin Watson corner.
Walsall did not learn a lesson from that goal as Watson and Halford combined again two minutes from time in a carbon copy corner to set-up Iwelumo who headed home from close range.