Котловина Онежского озера ледниково-тектонического происхождения. В палеозое (300—400 млн лет назад) вся территория современного бассейна Онежского озера была покрыта шельфовым морем в окрестностях древнего континента Балтика, располагавшегося к тому же в приэкваториальных широтах. Осадочные отложения того времени — песчаники, пески, глины, известняки — покрывают мощной толщей (свыше 200 м) кристаллический фундамент, состоящий из гранитов, гнейсов и диабазов. Современный рельеф образовался в результате деятельности ледникового покрова (последнее, Валдайское оледенение, закончилось около 12 тыс. лет назад). После отступания ледника образовалось Литориновое море, уровень которого был на 7—9 м выше современного уровня Балтийского моря.