Creativity - creating new solutions to problems - is an integral part of the problem-solving process. This paper presents a cognitive model of creativity in which a case-based problem-solver is augmented with (1) a creative drive and (2) a set of creativity heuristics. New solutions are discovered by solving a slightly different problem and adapting that solution to the original problem. By repeating this process, a creative problem-solver can discover new solutions that are novel, useful and very different from known solutions. This model has been implemented in a computer program called MINSTREL. MINSTREL has been used for planning and problem-solving, to tell stories, and to invent mechanical devices.