"Tonal" is one of those words that everyone vaguely understands, but is annoyingly hard to actually define. Most people agree that English isn't "tonal". But there's not a clear dividing line between "tonal" and "not tonal"; it's more of a spectrum.
At one end are the truly tonal languages. In these languages, every syllable/vowel/tone-bearing-unit gets one of however many tones—it's an inherent property of the phoneme, just like how every vowel in English has a height and a frontness and a roundness. For example, in Lingála, the word mòtò means "human", while the word mòtó means "head"; the tones are an inherent property of the vowels. Mandarin is the most famous example of this, but it can be found throughout much of East Asia and sub-Saharan Africa.
(Usually it's not quite as simple as "tone is an inherent property of the phoneme"—this is one of the reasons why autosegmental phonology was invented, to deal with some fascinatingly weird tone effects that couldn't be explained by older models. But that's worth a question, or several questions, of its own!)
One step farther down the spectrum are the pitch-accent languages, which distinguish between different tones, but the tone of a whole word is entirely determined by the placement of a single "ictus" or "accent" within it. This is what Ancient Greek and Japanese have. For example, in Ancient Greek, állà "other things" and àllá "but" are valid words, but *állá and *àllà are not. With only a few exceptions, every word has exactly one high tone (the "ictus"), and everything else is low.
One step past that are the stress-accent languages. This is what English is generally considered to be. Like pitch-accent languages, stress-accent languages have a single "ictus" in each word which determines the accentuation. But unlike in pitch-accent languages, the ictus is shown by "stress"—a vague combination of a dozen different phonetic features, including pitch. The line between pitch and stress is a blurry one, and often has more to do with convention than any phonetic measurement you can quantify.
And finally, you get the fixed-stress languages. These languages, like Hungarian, Classical Arabic, and Classical Latin, don't use tone, pitch, or stress in any phonemic way. Some syllables are still "stressed" more than others, but this is entirely predictable from the structure of the word. These languages can be said with certainty to be entirely non-tonal.
In practice, all these categories are blurry at best. How do you draw a line between pitch accent and stress accent, for example, when "stress" includes a change in pitch (like in English)? How do you draw a line between true tone and pitch accent when it's possible for a word to have multiple ictus (*), or when over half the words have no ictus at all? The best answer I can give is, these terms are useful only insofar as they elucidate or clarify explanations, and no further. Every language uses tone somewhat differently, and there's usually much, much more to tone than these categories can show. (For example, Lingála generally has phonemic tone, where every phoneme has a tone associated with it. But it also has purely tonal circumfixes: morphemes which attach on either side of a verb root and add no phonemes, only "floating" tones, which clamp themselves onto the nearest "unclaimed" vowels! Which is the coolest point in favor of autosegmental phonology I've ever seen.)
(*) The plural of ictus is also ictus. Or "ictūs" if you're especially pretentious. Blame the Romans.