Sofas cost between $500 and $4500 to reupholster. The average cost of reupholstering a sofa is $1800. This includes your new fabric cost and labor costs associated with reupholstering. Usually fabric ranges from $10-$70 a yard with labor cost ranging from $40-$100 per hour.