Правильно: в городе Лондоне. Подробнее см. в «Письмовнике».
В официальных документах, действительно, перед названиями городов обычно употребляют сокращение г. или полное слово город. Однако в справочной литературе (см. «Справочник издателя и автора» А. Э. Мильчина, Л. К. Чельцовой) есть такая рекомендация: «Сокращение г. (город), как и полное слово, рекомендуется употреблять ограниченно, главным образом перед названиями городов, образованными от фамилий (г. Киров)». Таким образом, вариант в Лондоне вовсе не ошибочный, даже предпочтительный.