This paper presents an efficient method for deforming B-spline surfaces, based on the surface energy minimization. Firstly, using an analogy between the B-spline surface patch and the thin-plate element of the finite element method, and applying external forces on the surface with some given geometric constraints, the forces can locate on part of the surface or the surface. Then, the energy of the B-spline surface can change with the change of the forces. Finally, a new B-spline surface is generated by solving an optimization problem of change of the energy. The forces can be a single force, a distributed force and set of isolated force. The method can accomplish easily local deformation and total deformation of the B-spline surface.