Swindon goalkeeper Wes Foderingham denied John White in the area while at the other end Colchester defender Brian Wilson hacked Adam Rooney's close-range shot off the line.
Foderingham pulled off a flying save to deny Billy Clifford's long-range strike on the half-hour but Swindon looked dangerous and Andy Williams curled over for the visitors.
Colchester keeper Sam Walker denied the lively Rooney just before half-time.
But the deadlock was broken eight minutes after the break through Collins, who weaved his way through the Colchester defence before slamming a low shot past Walker from a tight angle.
Williams should have sealed victory for Swindon with 19 minutes to go when he was sent through on goal by Collins' pass but was denied by Walker at his near post.
Walker saved well from Gary Roberts and Aden Flint late on as Swindon wrapped up victory.