В 968 году Ольга с сыновьями Святослава жила в Киеве, в то время как сам Святослав был на Дунае. В этот год, по рассказу летописей, на Русь пришли орды степного народа — печенегов, кочевавших по бескрайним просторам к югу от Древнерусского государства. Они взяли Киев в осаду, «и нельзя было ни выйти из города, ни вести послать, и изнемогали люди от голода и жажды». Уже хотели было киевляне сдаться врагу, не надеясь на помощь русских дружин во главе с воеводой Претичем, стоявших далеко за Днепром, но тут один мальчик решил отправиться за подмогой. Ночью он перебрался через городскую стену и вошел в печенежский стан. Враги не спали, они сидели вокруг костров и мечтали о богатой добыче, которую надеялись захватить в Киеве. Мальчик шел между кострами, держа в руках уздечку, и спрашивая, не видел ли кто его коня. Поскольку он говорил по-печенежски, степняки принимали его за своего. Так добрался молодой киевлянин до Днепра и под градом печенежских стрел переплыл на другую сторону. Русский воевода узнал, что творится в Киеве, и на следующее утро его воины стали собираться в поход. Поднявшийся шум испугал печенегов, подумавших о подходе дружинников Святослава. В страхе бежали они из-под стен города. Киевляне сразу же послали за Святославом: «Ты, князь, ищешь чужой земли и о ней заботишься, а свою покинул, а нас чуть было не взяли печенеги, и мать твою, и детей твоих. Если не придешь и не защитишь нас, то возьмут-таки нас. Неужели не жаль тебе своей отчины, старой матери, детей своих?» Святослав спешно вернулся со своей дружиной, в жарких схватках разбил печенегов и отогнал их в степь. Киев был спасен.
Но Святослав не хотел оставаться на Руси и вновь собрался на Дунай. Ольга же заболела и просила сына не уезжать до ее смерти. «Когда похоронишь меня, — отправляйся, куда захочешь», — сказала она. Через три дня, 11 июля 969 года Ольга умерла и была похоронена по христианскому обряду. В 1007 году ее останки перенесли в Десятинную церковь, построенную в 996 году. Дело княгини продолжил ее внук — князь Владимир, крестившийся в 988 году и затем распространивший христианство по всей Руси.
Святослав и его сыновья
Время рождения сына Игоря и Ольги — князя Святослава вызывает вопросы. «Повесть временных лет» не датирует это событие, отмечая лишь, что в 945 — 946 годах Святослав был ещё ребёнком. Когда войска Ольги и древлян стояли напротив друг друга, готовые к битве, сигналом к сражению послужило копье, брошенное Святославом в сторону врага. Но поскольку он тогда ещё был мал, копьё упало впереди его коня. Некоторые древнерусские летописи, в том числе Ипатьевская, отмечают рождение Святослава под 942 годом. Это, впрочем, противоречит другим летописным данным: ведь Игорь родился в конце 870-х годов, Ольга в 880-х — самое позднее в начале 890-х, а поженились они в 903 году. Получается, что только через 40 лет брака у двух пожилых людей родился сын, что выглядит маловероятным. Поэтому учёные пытались как-то объяснить эти противоречия.
К сожалению, и здесь не обошлось без нигилизма. Так, археолог С. П. Толстов писал даже, что «генеалогия Рюриковичей до Святослава шита белыми нитками”, а Л. Н. Гумилёв полагал, что Святослав вовсе не был сыном Игоря (или был сыном другого Игоря, не Рюриковича). Но источники не дают возможности усомниться в прямом родстве Святослава с Игорем и Ольгой. Не только русские летописи, но и иностранные авторы, такие, как Лев Диакон и Константин Багрянородный, называют Святослава сыном Игоря и Ольги.