В течение 1966 года Геллер выиграл турнир в Кисловодске с участием ряда гроссмейстеров, в том числе Таля, Штейна, Холмова и Тайманова, и занял третье место в Праге. Чемпионат СССР 1966—1967 годов Геллер закончил на втором месте. Уже в четвёртом туре он выиграл у будущего чемпиона Штейна, а после шестнадцатого тура возглавил таблицу. Но оставшиеся партии Геллер свёл вничью и позволил Штейну финишировать с отрывом в пол-очка. До очередного межзонального турнира Геллер разделил с Ларсеном 3—4 места в Монте-Карло (выиграл Фишер), неудачно сыграл международный турнир в Москве (первое место занял Штейн) и разделил 2—3 места в Скопье, причём во втором туре победил будущего первого призёра Фишера. На межзональном турнире, который проходил в Сусе (Тунис), Геллер с единственным поражением от Решевского в пятом туре занял 2—4 места. С отрывом в полтора очка турнир выиграл Ларсен, Фишер же из-за недовольства расписанием выбыл из соревнования, лидируя после 10 тура. В четвертьфинальном матче претендентов соперником Геллера снова стал Борис Спасский. Он выиграл подряд три чётных партии белыми (при этом в четвёртой партии матча Геллер упустил выигрыш&gt;), окончательный счёт снова был 5½ : 2½. В том цикле Спасский дошёл до матча за титул против Петросяна, выиграл его и стал новым чемпионом мира. При этом перед матчем Геллер вошёл в тренерский штаб Спасского вместе с Крогиусом и Игорем Бондаревским.