Родился в 1825 г. в Санкт-Петербурге в семье князя Ивана Семёновича Святополк-Мирского и Марцианы Савельевны урождённой Ностиц-Ясковской. Братья и сестра: Владимир (1823—1861), Екатерина (?—1879), Николай (1833—1898, генерал от кавалерии, член Государственного совета).
Начал военную службу в 1841 г. на Кавказе юнкером в егерском генерал-адъютанта князя Чернышёва полку, с полком постоянно принимал участие в делах против чеченцев и дагестанцев, за доблесть был произведён 1 января 1845 г. в унтер-офицеры и награждён 12 апреля того же года знаком отличия военного ордена. 1 июля 1845 г. за отличие при штурме Андийских высот во время Даргинской экспедиции произведён в прапорщики. В кампании 1846 г. с января по сентябрь входил в состав гарнизона Куринского укрепления и неоднократно был в делах против Шамиля. С мая 1847 г. находясь в составе генерал-майора Фрейтага был в боях возле крепостей Грозной и Воздвиженской и за отличие произведён в подпоручики (14 сентября) и поручики (6 декабря). В январе—феврале 1848 г. участвовал в составе отряда Фрейтага в боевых действиях в Малой Чечне, с апреля находился в командировке в Дагестанском отряде, с которым участвовал в осадных работах у аула Гергебиль. 23 июня во время движения колонны генерал-майора Э. В. Бриммера был ранен, как следует из медицинского отчёта «пуля вошла несколько ниже правого грудного соска, прошла через правое лёгкое и остановилась в спине под кожей, откуда через разрез была вынута». 25 июня 1850 г. произведён в штабс-капитаны (со старшинством от 31 марта 1849 г.) В кампаниях 1849 и начала 1850 гг. Святополк-Мирский также не оставался в стороне и неоднократно бывал в походах и перестрелках с горцами. Состоя с 17 февраля 1850 г. адъютантом начальника штаба войск на Кавказе генерал-адъютанта П. Е. Коцебу, Святополк-Мирский до конца этого года находился в Тифлисе, а затем в кампании 1851 г. в январе—марте находился на левом фланге Кавказской линии и был в боях против Хаджи-Мурата, Талгика и Шамиля, за отличие в этих делах 18 июня был произведён в капитаны (со старшинством от 8 января). В следующем году участвовал в боевых действиях против горцев на реке Мичик и 2 июня 1852 г. произведён в майоры. Назначенный 29 сентября адъютантом главнокомандующего отдельным Кавказским корпусом князя М. С. Воронцова, Святополк-Мирский состоял в непосредственном подчинении у князя А. И. Барятинского, с которым совершил в 1853 г. повторную боевую экспедицию на р. Мичик. За отличие против горцев 9 января 1853 г. произведён в подполковники (со старшинством от 2 февраля 1853 г.).
За боевые отличия в делах против горцев награждён орденами св. Владимира 4-й степени с бантом (23 сентября 1848 г., за отличие при взятии Гергебиля) и св. Анны 3-й степени бантом (3 декабря 1849 г., за отличие в кампании 1849 г.).
Во время Крымской войны в качестве адъютанта главнокомандующего отдельным Кавказским корпусом был в Александропольском отряде и участвовал в сражениях при Баяндуре и Курюк-Дара, за Баяндурское сражение был 14 мая 1854 г. удостоен ордена св. Анны 2-й степени и за Курюк-Дара получил 27 февраля 1855 г. алмазные знаки к этому ордену. В октябре 1854 г. был переведён в Тенгинский пехотный полк, но прослужил в нём недолго. При назначении Н. Н. Муравьёва главнокомандующим на Кавказе Дмитрий Иванович публично выступил оппонентом последнего, написав ему громкое письмо в защиту Ермолова и Ермоловских порядков. Вынужденный покинуть Кавказ, Святополк-Мирский в 1855 г. находился в Крыму в составе Азовского пехотного полка, в сражении с англо-французами на Чёрной речке был ранен («пуля прошла сквозь грудную плоскость через верхушку левого лёгкого и остановилась сзади у середины внутреннего края левой лопатки, откуда была вырезана при перевязке»), однако остался в строю и был назначен командиром 2-го батальона Одесского егерского полка, 19 ноября 1855 г. произведён в полковники (со старшинством от 20 августа того же года), 11 сентября назначен командиром пехотного генерал-фельдмаршала Дибича-Забалканского полка.
12 января 1856 г. награждён орденом св. Георгия 4-й степени.
По окончании Крымской войны Святополк-Мирский вернулся на Кавказ. С 6 сентября 1857 г. командовал Кабардинским полком, с которым совершил кампанию 1858 г. в нагорной части Чечни и 12 июля был назначен начальником Кумыкского округа с оставлением в должности командира полка. 12 апреля 1859 г. произведён в генерал-майоры и назначен начальником штаба войск в Прикаспийском крае, тогда же был зачислен в свиту его величества. В кампании против горцев в 1859 г. начальствовал походным штабом Дагестанского отряда генерал-адъютанта бароне А. Е. Врангеля и принял участие во взятии штурмом аула Гуниб; за взятие этого укреплённого аула был награждён 22 сентября 1859 г. орденом св. Анны 1-й степени с мечами и 3 января 1860 г. — орденом св. Владимира 3-й степени с мечами.
После пленения Шамиля и покорения Восточного Кавказа был помощником командующего войсками Кубанской области и был в походах на реки Кубань и Убин. 23 апреля 1861 г. получил орден св. Владимира 2-й степени с мечами, 21 сентября 1861 г. произведён в генерал-лейтенанты и назначен начальником Терской области, с 1863 года по 23 апреля 1867 года занимал должность Кутаисского генерал-губернатора; в это время ему пришлось подавить возмущение горцев в Абхазии и ввести в только что покорённой стране новое административное и судебное устройство. За труды на ниве гражданского управления Святополк-Мирский был произведён 16 июня 1866 г. в генерал-адъютанты, награждён орденами Белого Орла (4 мая 1863 г.) и св. Александра Невского (8 ноября 1866 г.), 30 августа 1870 г. ему были пожалованы алмазные знаки к последней награде. 30 августа 1873 г. Дмитрий Иванович получает чин генерала от инфантерии. Кроме того, 19 декабря 1869 г. князь Святополк-Мирский был избран действительным членом и почётным председателем Кавказского отделения Русского географического общества.
В 1875 г. назначен помощником Кавказского наместника великого князя Михаила Николаевича. Во время русско-турецкой войны 1877—1878 гг. князь Святополк-Мирский состоял при главнокомандующем Кавказской армией и принимал деятельное участие в планировании и проведении штурма Карса; 12 ноября 1877 г. ему был пожалован орден св. Георгия 2-й степени за № 108
17 февраля 1879 г. награждён орденом св. Владимира 1-й степени с мечами. В 1880 г. Святополк-Мирский был назначен членом Государственного совета. В 1881—1882 г. исполнял обязанности командующего войсками Харьковского военного округа и временного Харьковского генерал-губернатора. 14 июня 1895 г. по случаю пятидесятилетия службы в офицерских чинах был удостоен ордена св. Андрея Первозванного.
Умер 18 января 1899 г. в Ницце.
Дмитрий Иванович был женат на Софье Яковлевне урождённой княжне Орбелиани (1831—1879). У них были дети: Нина (1852—1926, замужем за Ставропольским и Выборгским губернатором генералом от инфантерии В. А. Деном), Мария (1853—1889, замужем за генерал-майором И. М. Орбелиани), Пётр (1857—1914, министр внутренних дел, член Государственного совета).