In Massachusetts, the cost of a new roof typically ranges from $15,000 to $45,000, with the average price being around $21,000 for a 3,000-square-foot roof using architectural shingles. Remember that smaller roofs, like those on townhouses, may cost around $8,000 to $10,000.