Karierę rozpoczynał jako reporter Radia Plus. Następnie pracował w TV Puls. Po pierwszym przerwaniu nadawania przez tę stację przeszedł do Polsatu, gdzie był reporterem Informacji i później Wydarzeń. Publikował również we „Frondzie”. Pracował w „Dzienniku”, gdzie najpierw był szefem działu politycznego, a następnie zastępcą kierownika działu. Współpracował z Polskim Radiem RDC, w którym prowadził rozmowy polityczne. Był jednym z prowadzących program „Ja panu nie przerywałem” w Superstacji.
Od stycznia 2013 był publicystą tygodnika „Do Rzeczy” (pełnił tam funkcję wicenaczelnego). W styczniu 2016 został dyrektorem TVP Historia (jednocześnie zrezygnował z pracy w Superstacji i Polskim Radiu RDC). Od grudnia 2016 był dyrektorem biura programowego TVP, od połowy 2017 dyrektorem ds. komunikacji, następnie głównym specjalistą w biurze spraw korporacyjnych. Z pracy w TVP został zwolniony 27 lutego 2024, w związku ze sporem wokół mediów publicznych w Polsce.
Od czerwca 2024 jest stałym publicystą tygodnika „Sieci" i dziennikarzem telewizji wPolsce.pl.
W 2014 została wydana jego książka Rzeź Woli. Zbrodnia nierozliczona (), w 2018 wydał książkę Ribbentrop-Beck.