Начал заниматься футболом там же, где родился - в Обуаси. Будучи подростком, Менса покинул родную страну и отправился в Италию, чтобы присоединиться к клубу «Болонья». Но Менса был в плохой форме, из-за чего он на правах аренды отправился в швейцарскую «Беллинцону». Невысокая скорость Джона стала причиной критики в его адрес, но он показывал прекрасное взаимопонимание с партнёрами по команде.
ИталияВ следующем сезоне Менса вернулся в итальянскую Серию Б, перейдя в «Дженоа» летом 2001 года, но спустя сезон покинул генуэзскую команду и перешёл в «Кьево», где за два сезона ганец отыграл 13 матчей и позже перешёл в «Модену», провёл за неё 6 матчей, и вновь вернулся в состав «летающих ослов». В 2005 году перешёл в «Кремонезе» и сыграл за «серо-красных» 14 матчей.
«Ренн»31 января 2006 года Менса переехал в Ренн и на правах аренды перешёл в одноименный клуб, из-за того, что тяжёлую травму получил марокканский защитник Абдеслам Уадду. А уже в апреле Джон подписал трёхлетний контракт с клубом из Франции.
28 сентября 2006 официальный сайт «Ренна» опубликовал статью влияния Менсы на его новый клуб, начиная с 11 февраля до 28 сентября 2006 года: за этот период времени ганец сыграл 18 игр, в 12 из них была одержана победа, 5 раз «Ренн» сыграл вничью и 1 раз потерпел поражение. «Красно-чёрные» пропустили 12 голов, 4 из них были пропущены в отсутствии Джона на поле. «Ренн» пропускал примерно 0,66 голов за матч, в котором принимал участие Менса. Без ганца на поле «красно-чёрные» сыграли 6 игр, проиграв в пяти случаях и лишь однажды сведя матч вничью; кроме того, «Ренн» пропустил 13 голов, в среднем позволяя соперникам отличиться 2,66 раза за матч.
Менса сыграл 58 матчей во французской Лиге 1 и забил 2 гола за 2 сезона в «Ренне». Он также отыграл 3 матча в кубке Франции, 2 в кубке Французской лиги и ещё 2 в кубке УЕФА. Джон был капитаном «Ренна» с января до лета 2008 года, когда он был продан в «Олимпик Лион». После его ухода, тренер «Ренна» Ги Лякомб жалел о том, что не смог удержать капитана в команде и сказал, что Джон ушёл из-за того, что «Ренн» не мог дать ему возможности играть в Лиге чемпионов.
«Олимпик»26 апреля 2007 появились слухи о том, что «Олимпик» из Лиона намеревается в скором времени приобрести Менсу в летний трансферный период.
18 июня 2008 новый главный тренер «Лиона» Клод Пюэль искал замену ушедшему в «Севилью» центральному защитнику Себастьену Скиллачи, и основным кандидатом на его замену был Джон Менса. Переговоры с ганским защитником продолжались четыре недели и 15 июля 2008 года специальный советник президента «Лиона» Бернар Лякомб объявил о подписании пятилетнего контракта с футболистом сборной Ганы, но «Ренн» отклонил предложение «Олимпика» из-за недостаточной предложенной суммы трансфера. По информации СМИ, «Ренн» хотел получить 8 млн € за ганца, в тот момент, когда руководство «Олимпика» готово было раскошелиться лишь на 6 млн €. Но, тем не менее, спустя три дня, 21 июля, Менса наконец подписал пятилетний контракт с «Лионом».
«Сандерленд»15 августа 2009 года различные СМИ во Франции сообщили, что Менса может отправиться в аренду на сезон в английский «Сандерленд», с правом последних выкупить права на игрока за7 млн € во время сезона. 21 августа Менса прошёл медосмотр в английском клубе и спустя неделю официально перешёл в «Сандерленд». Менса дебютировал в составе «чёрных котов» 12 сентября, выйдя на замену в матче с «Халл Сити». Матч окончился победой «Сандерленда» 4:1. Первый полный матч в новой команде он сыграл спустя десять дней, в матче кубка Лиги с «Бирмингемом» (2:0), где ему удалось отправить мяч в сетку противника, однако гол был отменён за фол на голкипере «синих» Майке Тейлоре. Свой первый гол Менса забил 19 декабря, в матче с «Манчестер Сити». На протяжении сезона Менса часто страдал от травм и пропустил из-за них часть сезона.
В сезоне 2010/11 Менса вновь был отдан в аренду «Сандерленду». На этот раз он получил футболку с номером 5, с тем же номером, что и в сборной Ганы.
Первый матч Менсы в новом сезоне состоялся 14 августа в родных стенах «Сандерленда». Но частые травмы ганца и хорошая форма Брамбла и Тёрнера не позволяли Джону входить в стартовый состав команды. В следующий раз сыграл он лишь 6 ноября, когда заменял дисквалифицированного Брамбла.
«Олимпик»Летом 2011 вернулся в «Олимпик». Летом 2012 года расторг контракт с клубом и стал свободным агентом.
Благодаря успешной игре в Швейцарии, Менса попал в состав молодёжной сборной Ганы и отправился на ЧМ-2001, проходивший в Аргентине. В матче 1/8 финала против сборной Эквадора на 37-й минуте Джон отличился голом, который остался единственным в матче. В четвертьфинале сборная Ганы одержала победу над сборной Бразилии, проигрывая по ходу матча. Победный гол на третьей компенсированной минуте ко второму тайму на свой счёт записал вновь Менса. В полуфинале ганцы обыграли египтян 0:2, однако в финале «чёрные звёзды» уступили хозяевам турнира аргентинцам со счётом 0:3.
Дебют Менсы за взрослую команду состоялся 5 декабря 2001 года в матче против сборной Алжира, вскоре после его девятнадцатого дня рождения, накануне Кубка африканских наций 2002 в Мали.
Менса принял участие на летних Олимпийских играх в 2004 году, проходящих в Афинах, будучи заявленным в состав своей сборной. «Чёрные звёзды» заняли третье место и не смогли выйти из группы, уступив парагвайцам и итальянцам. Спустя два года Менса поучаствовал в своём втором розыгрыше кубка Африканских Наций, проходящем в Египте. Менса всерьез рассматривался, как основной игрок сборной на ЧМ-2006. Ганцы вышли в стадию плей-офф, но в 1/8 финала уступили бразильцам со счётом 3:0.