A major road upgrade that ran two years behind schedule and caused huge disruption went more than £13 million over budget, it can be revealed.