You can thank us Yanks, who apparently originated the term and brought it to Britain during World War II.
http://www.straightdope.com/columns/read/2044/whats-the-origin-of-grand-meaning-1-000
The term "grand" is American slang from the early 1900s, presumably from the expression "a grand sum of money" to mean $1,000. As with most questions of etymology, we don't know who first used the phrase. The best we can do, in most cases, is to find the earliest written usage, which is around 1915 for "grand." But the term was probably used in conversation for a while before it appeared in writing.
Within a few decades, the term was so popular that it was abbreviated to G or G-note. During WWII, the Yanks brought the term to the UK, where it came to mean £1,000.
By the late 1940s, a grand meant a thousand of almost anything, not just money. Grand old flag, however, and grandparents still retain the OTHER meanings of "grand," just to confuse people for whom English is a second language.