Solving the airline crew pairing problem (CPP) requires a search to generate a set of minimum-cost crew pairings covering all flight legs, subject to a set of constraints. We propose a solution comprising two consecutive stages: crew pairing generation, followed by an optimisation stage. First, all legal crew pairings are generated with the given flights, and then the best subset of those pairings with minimal cost are chosen via an optimisation, process based on an evolutionary algorithm. This paper investigates the performance of two previously proposed genetic algorithm (GA) variants, and a memetic algorithm (MA) hybridising GA with hill climbing, for solving the CPP. The empirical results across a set of benchmark real-world instances illustrate that the proposed MA is the best performing approach overall.