Родился 28 сентября 1805 г. в семье Енисейского губернатора А. П. Степанова. В 1821 г. вместе со своим братом Н. А. Степановым был определён в московский университетский благородный пансион. По окончании в 1824 г. курса в пансионе он отправился в Петербург для поступления на военную службу и 26 января 1825 г. был зачислен юнкером в Лейб-гвардии Егерский полк, с определением на один год в школу подпрапорщиков, и 6 января 1826 г. произведён в первый офицерский чин.
Во время Турецкой кампании 1828 г. Степанов в составе Лейб-гвардии егерского полка принял участие в осаде Варны и после взятия крепости возвратился в Петербург. За отличие в этой кампании он в 1829 г. был награждён орденом св. Анны 3-й степени с бантом.
В 1831 г. во время Польской кампании он находился в арьергарде гвардейского корпуса, отступавшего перед превосходившими его неприятельскими силами, 4 мая участвовал в деле при Длугоседло и 8 мая в бою при местечке Рудки, в котором при атаке польской батареи был ранен в грудь навылет и замертво вынесен егерями с поля сражения. В конце года награждён орденом св. Владимира 4-й степени с бантом.
Пробыв около полугода в Белостоке, а затем на Кавказских минеральных водах для поправления своего здоровья, Степанов в 1833 г. вернулся в свой полк. В 1843 г. он был произведён в полковники и командовал сначала 2-м, а потом и 1-м батальоном Лейб-гвардии егерского полка. 26 ноября 1847 г. за беспорочную выслугу 25 лет в офицерских чинах награждён орденом св. Георгия 4-й степени (№ 7746 по списку Григоровича—Степанова). В марте 1849 г. назначен командиром бывшего 3-го учебного карабинерного полка, а 6 декабря 1851 г. произведён в генерал-майоры.
Когда началась Восточная война 1853—1856 гг. Степанов был назначен командиром сначала Сестрорецкого отряда, а затем промежуточного отряда между Выборгом и Сестрорецком, имевшего целью защиту Петербурга с суши и воспрепятствовать высадке неприятельских десантов союзным англо-французским флотом, появившимся в Балтийском море. В 1855 г. Степанов был назначен директором 2-го кадетского корпуса и пост этот занимал до 1863 г.; 17 октября 1860 г. произведён в генерал-лейтенанты.
Высочайшим приказом 19 марта 1870 г. он был назначен Царскосельским комендантом. За время своего комендантства Степанов устроил царскосельский лазарет Красного Креста и выказал обширную деятельность по обеспечению воинов, пострадавших во время русско-турецкой войны 1877—1878 гг. 30 августа 1881 г. Степанов был произведён в генералы от инфантерии.
Скончался 30 марта 1891 г. в Царском селе.
Среди прочих наград имел ордена св. Станислава 1-й степени (1858 г.), св. Анны 1-й степени (1860 г., императорская корона к этому ордену пожалована в 1871 г.), св. Владимира 2-й степени (1874 г.), Белого Орла (1879 г.) и св. Александра Невского (1884 г.).
П. А. Степанов известен также как военный писатель. В «Военном сборнике» за 1877—1878 гг. им напечатаны интересные и прекрасно написанные воспоминания из его военной службы «25 лет в Лейб-гвардии егерском полку». Большой интерес представляют также его «Воспоминания о Михаиле Ивановиче Глинке, 1825—1855 гг.» («Русская старина», 1871, т. IV), с которым он находился в самых дружеских отношениях. Кроме того в «Русской старине» им было напечатано ещё несколько статей и воспоминаний. Сын Михаил (10.02.1853 — 12.12.1917) — русский генерал.