Graph partitioning divides a graph into several pieces by cutting edges. The graph partitioning problem is to divide so that the number of vertices in each piece is the same within some defined tolerance and the number of cut edges separating these pieces is minimised. Important examples of the problem arise in partitioning graphs known as meshes for the parallel execution of computational mechanics codes. Very effective heuristic algorithms have been developed for these meshes which run in real-time, but it is unknown how good the partitions are since the problem is, in general, NP-complete. This paper reports an evolutionary search algorithm for finding benchmark partitions. A distinctive feature is the use of a multilevel heuristic algorithm to generate an effective linkage during crossover. The technique is tested on several example graphs and it is demonstrated that our method can achieve extremely high quality partitions significantly better than those found by the state..