Geometric dissection is a popular category of puzzles. Given two planar figures of equal area, a dissection seeks to partition one figure into pieces that can be reassembled to construct the other figure. In this paper, we present a computational method for creating lattice-based geometric dissection puzzles. Our method starts by representing the input figures on a discrete grid, such as a square or triangular lattice. Our goal is then to partition both figures into the smallest number of clusters (pieces) such that there is a one-to-one and congruent matching between the two sets of clusters. Solving this problem directly is intractable with a brute-force approach. We propose a hierarchical clustering method that can efficiently find near-optimal solutions by iteratively minimizing an objective function. In addition, we modify the objective function to include an area-based term, which directs the solution towards pieces with more balanced sizes. Finally, we show extensions of our algorithm for dissecting 3D shapes of equal volume.