Родился в семье известных московских врачей (отец — Николай Андреевич Шмелёв, академик медицинских наук, директор Института туберкулёза). Окончив школу экстерном, поступил в МГИМО, откуда после третьего курса перевёлся на филологический факультет МГУ им. М. В. Ломоносова (окончил в 1951). Кандидатская диссертация (1955) на тему «Значение и употребление формы повелительного наклонения в современном русском литературном языке». Преподавал в средней школе и в ряде педагогических вузов; с 1967 — в Московском государственном педагогическом институте. В 1955—1958 — в Институте языкознания АН СССР, с 1958 — в Институте русского языка АН СССР; заведовал сектором, впоследствии отделом современного русского языка. Докторская диссертация (1969) на тему «Проблемы семантического анализа лексики». Член-корреспондент (1984), действительный член (1987) АН СССР.
Исследования Д. Н. Шмелёва сыграли важную роль в развитии теоретической семантики и русской лексикологии. Наиболее известна его монография «Проблемы семантического анализа лексики» (1973), написанная на основе докторской диссертации; ряд её положений был впоследствии развит в рамках Московской семантической школы. Автор популярного вузовского учебника по лексикологии современного русского языка. Занимался также проблемами исторической эволюции грамматики, русской исторической лексикологией, русским синтаксисом, особенно много — исследованием общих проблем стилистики, языка и стиля художественной литературы. Д. Н. Шмелёв был и сам не чужд литературному творчеству; его стихотворные и прозаические опыты были опубликованы посмертно в составе его избранных трудов.