TL;DR: The modern zero was born in India, in the latter half of the first millennium.
I'll start with Wikipedia, and then work with some better sources. But first, from the Wikipedia article,
Ancient Egyptian numerals were base 10. They used hieroglyphs for the digits and were not positional. By 1740 BCE, the Egyptians had a symbol for zero in accounting texts. The symbol nfr, meaning beautiful, was also used to indicate the base level in drawings of tombs and pyramids and distances were measured relative to the base line as being above or below this line.
But that's not really what zero is used for today. Let's move a little.
By the middle of the 2nd millennium BC, the Babylonian mathematics had a sophisticated sexagesimal positional numeral system. The lack of a positional value (or zero) was indicated by a space between sexagesimal numerals. By 300 BC, a punctuation symbol (two slanted wedges) was co-opted as a placeholder in the same Babylonian system.
However,
The Babylonian placeholder was not a true zero because it was not used alone.
Moving on a millennium or two, we go to India.
The concept of zero as a number and not merely a symbol or an empty space for separation is attributed to India, where, by the 9th century AD, practical calculations were carried out using zero, which was treated like any other number, even in case of division. The Indian scholar Pingala (circa 5th–2nd century BC) used binary numbers in the form of short and long syllables (the latter equal in length to two short syllables), making it similar to Morse code. He and his contemporary Indian scholars used the Sanskrit word śūnya to refer to zero or void.
But perhaps most importantly of all,
The rules governing the use of zero appeared for the first time in Brahmagupta's book Brahmasputha Siddhanta (The Opening of the Universe), written in 628 AD.
Note, however, that he used some concepts little differently:
In some instances, his rules differ from the modern standard.
One key example of this is that for him, $\frac{0}{0}=0$ that is, $0$ divided by $0$ is $0$.
So Wikipedia indicates it was sometime in the 800s that zero got its start.
I'd rather not use Wikipedia as my main source here, so I'll now go elsewhere.
This site confirms that India was possibly the birthplace of the modern zero, and also confirms Brahmagupta's rules:
Brahmagupta, around 650 AD, was the first to formalize arithmetic operations using zero. He used dots underneath numbers to indicate a zero. These dots were alternately referred to as 'sunya', which means empty, or 'kha', which means place. Brahmagupta wrote standard rules for reaching zero through addition and subtraction as well as the results of operations with zero. The only error in his rules was division by zero, which would have to wait for Isaac Newton and G.W. Leibniz to tackle.
It goes on to explain that the concept of zero was studied more extensively in Europe hundreds of years later.
Note:
This is a good outline of Brahmagupta, his life, and his work.
Here, we have the a fact listed that Indians used zero in the 5th century:
It began to take shape as a number, rather than a punctuation mark between numbers, in India in the fifth century A.D., says Robert Kaplan, author of The Nothing That Is: A Natural History of Zero (Oxford University Press, 2000). "It isn't until then, and not even fully then, that zero gets full citizenship in the republic of numbers," Kaplan says.
And in the teaser for Kaplan's book, we find
We follow the trail to the East where, a millennium or two ago, Indian mathematicians took another crucial step. By treating zero for the first time like any other number, instead of a unique symbol, they allowed huge new leaps forward in computation, and also in our understanding of how mathematics itself works.
The consensus of these three sources is that while ancient cultures used some concept of "nothing" or a "placeholder", the idea of 0 as a number can be traced back to India, sometime in the second half of the first millennium. I'd recommend sifting through here, possibly the most comprehensive history of 0 I was able to find. It agrees with all the information on India presented above, and talks about one of the earliest inscriptions utilizing 0:
We have an inscription on a stone tablet which contains a date which translates to 876. The inscription concerns the town of Gwalior, 400 km south of Delhi, where they planted a garden 187 by 270 hastas which would produce enough flowers to allow 50 garlands per day to be given to the local temple. Both of the numbers 270 and 50 are denoted almost as they appear today although the 0 is smaller and slightly raised.
The usage here seems to be more of a placeholder, though.
By the way, the answers to this question agree with the India-was-first claim; one uses the Yale source I used here.