On an average, homeowners spend between $4,707 and $10,460 on a new roof. The actual cost depends on a number of factors such as the roof size, type of materials used, roof pitch/slope, roof access, and the type of roof warranty.