Phonemes are the meaningfully different sound units in a certain language (the smallest units of sound). For example, 'pat' and 'bat' differ in their first phoneme.
Allophones are the various ways in which the phonemes can be realized as actual phonetic speech sounds, and can give rise to different pronunciations of the same word.