Мельберг начинал играть в местной команде «Гульспонг», откуда был приглашён в клуб высшего дивизиона «Дегерфорс». После вылета «Дегерфорса» из высшего дивизиона Мельберг перешел в АИК.
За уверенной игрой в шведской лиге последовало приглашение в испанскую Примеру, в клуб «Расинг» (Сантандер), где он сразу стал основным игроком.
Мельбергом интересовались «Барселона» и «Валенсия», однако он предпочёл перейти в «Астон Виллу». В бирмингемском клубе он стал капитаном команды и был им на протяжении 3 лет. В сезоне 2002/2003 отыграл без замен все 38 матчей «Астон Виллы» в Премьер-лиге. В последнем сезоне он был переведен с привычной позиции центрального защитника на правый фланг.
В январе 2008 года подписал предварительный 3-летний контракт с «Ювентусом». В туринский клуб Мельберг перешёл после сезона 2007/08 по правилу Босмана (бесплатно). В составе «Ювентуса» впервые выступил в Лиге чемпионов, играл в матчах группового этапа и 1/8 финала этого турнира.
В июне 2009 года перешёл в «Олимпиакос», контракт рассчитан на 3 года, сумма трансфера составила 2,5 млн. евро.
Мельберг принимал участие в финальных турнирах ЧЕ-2000, 2004 и 2008, ЧМ-2002 и 2006. Был включён УЕФА в символическую сборную Евро-2004. В 2002 году стал капитаном сборной Швеции, был капитаном сборной на Евро-2004 и чемпионате мира 2006, в августе 2006 года отказался от капитанской повязки.
На открытой тренировке во время чемпионата мира 2002 года Мельберг подрался с партнёром по команде Фредриком Юнгбергом. В сентябре 2006 года перед матчем с Лихтенштейном был изгнан из национальной команды вместе со Златаном Ибрагимовичем и Кристианом Вильхельмссоном, за то что не вернулись на базу сборной до 24 часов вечера, однако через месяц они были возвращены в сборную.
В отборочном турнире чемпионата мира 2010 забил 3 гола и стал лучшим бомбардиром сборной Швеции.
У Мельберга и его подруги Каролины Киль двое детей — Сага (2002) и Йон (2006).
По словам матери Мельберга, после окончания карьеры игрока, футболист собирается поступить в университет.