In this article we present an efficient framework for morphing between two topologically equivalent, arbitrary meshes with the user controlling the surface correspondences. Each of the partitioned meshes is embedded into a polygonal region on the plane with harmonic mapping. Those embedded meshes have the same graph structure as their original meshes. By overlapping those two embedded meshes, we can establish correspondence between them. Metamorphosis results from interpolating the corresponding vertices from one mesh to the other. We demonstrate that minimal control of surface correspondences by the user generates sophisticated interpolation between two meshes.