Paul Kaddis looked to have earned Di Canio's men the point they needed with a 53rd-minute penalty after Guy Madjo's 12th-minute opener for the hosts, but Danny Hylton clinched victory five minutes later at the Recreation Ground on Tuesday night.
Matthew Richards scored the only goal as Shrewsbury moved clear in second with a 1-0 home win over Port Vale, while Crawley moved into the third automatic promotion slot with a 3-1 win over struggling Northampton at the Broadfield Stadium.
Crawley were three up at the break through Scott Neilson, Billy Clarke and an own goal by goalkeeper Neal Kitson. Brett Williams scored for Northampton midway through the second half, but it was no more than a consolation.