Dr. Watson is.
In the movies and tv series, there is no clear answer. It's never really be an issue and so actors appropriate for the roles have always been hired, regardless of age.
This seems logical, considering the stories took place over a long period (over 20 years). Considering a show like Sherlock jumps from story to story, his age becomes a little meaningless as if they were aiming for realism in this regard, he would have aged (and de-aged!) several times.
In the books, if you're interested, their dates of birth have been speculated.
An estimate of Holmes's age in the story "His Last Bow" places his
birth in 1854; the story is set in August 1914 and he is described as
being 60 years of age.
Alternatively for Sherlock:
In the very first story, A Study in Scarlet, something of Holmes'
background is given. He was born in England either in the year 1854 or
the year 1861...
His older brother Mycroft, born either 1847 or 1854, whom the younger
Holmes considered to be more intellectually gifted than himself, would
spend much of his life on Her Majesty's Secret Service. The confusion
in birth dates stems from the fact that, in "The Adventure of the
Greek Interpreter", Sherlock refers to Mycroft as being "[s]even years
In A Study in Scarlet, Watson, as the narrator, establishes having
received his medical degree from Barts and The London School of
Medicine and Dentistry, the University of London in 1878, and
subsequently being trained at Netley as a surgeon in the British Army.
If one assumes that Watson entered the University of London around the
age of twenty-five, he was born around 1853.
Alternatively for Watson:
Various (extra-canonical) sources give Watson's birth date as 7
August, 1852 and his full name as Dr John Hamish Watson.
These dates would place Watson as being between one and eight years or so older.