Catherine follows the story of Vincent Brooks, who is caught between his girlfriend Katherine McBride and Catherine, a 22 year-old blonde he met at the Stray Sheep bar. Since his encounter with Catherine, Vincent has been having nightmares every night. The nightmares are puzzle-platforming sections shaped as tower-like levels in which Vincent must climb to the top by pulling and pushing blocks. While he climbs, the level falls apart, and sheep characters try to shove him back down.
The game is played on a daily basis, with Vincent waking up at the Stray Sheep bar after each nightmare. He can send and receive text messages, drink, talk to people or play an arcade game called Rapunzel until he goes back to sleep. When Vincent has to make choices, a blue and red gauge appears, indicating whether he is more inclined towards law or chaos, which will influence the game's ending.
The gameplay is divided into two main parts: the nightmares, where Vincent must climb through puzzle-platforming levels, and the daily life at the Stray Sheep bar, where he interacts with people and makes choices that affect the game's outcome. Apart from the story mode, there is a special challenge called Babel, which can be unlocked by meeting certain conditions in story mode.