Lyndsey Mackelroy is a recurring character on the sitcom Two and a Half Men . She is played by Courtney Thorne-Smith. She is the on-again, off-again girlfriend of Alan Harper (Jon Cryer). Lyndsey lusts over Alan's roommate Walden Schmidt (Ashton Kutcher). Over time, it is revealed that Lyndsey has a bad drinking problem too.