The national average for a 2,000-square-foot new roof is $21,440. Roofing material is the biggest cost factor — asphalt shingles are the least expensive. Before reroofing, consider roofing ...