Zijn vorderingen waren langzaam maar gestaag. Hij won toernooien in Boedapest (1999), Skellefteå (2001, gedeeld met Jonny Hector) en Bermuda (2002, na play-off). In 2004 werd hij grootmeester.
Sinds 1998 nam hij deel aan het kampioenschap van Zweden, hij werd vijf keer tweede (2001, 2004, 2006, 2007 en 2008) en won het kampioenschap in 2009 and 2010. Zijn Elo-rating passerde de 2600.
Bij de Politiken Cup 2008 eindigde hij een half punt onder de leiders. Eveneens in 2008, werd hij met 7 pt. uit 10 tiende bij de Gibtelecom Masters in Gibraltar, en ook met 7 uit 10 vijfde bij het EU Schaakkampioenschap in Liverpool. Bij het Najdorf Memorial in Warschau eindigde hij gedeeld tweede met Tomi Nyback, onder Krishnan Sasikiran. In 2009 won hij het BPB Limburg Open.
Tussen 2002 en 2008 nam Berg deel aan alle Schaakolympiades en aan de Europese Schaakkampioenschappen voor landenteams van 1999, 2003 en 2007. Bij de Olympiade van 2008 behaalde Berg echter slechts 1½ punten uit 9 partijen. Meestal speelt hij aan het eerste bord.
Berg is een goede vriend van GM Pontus Carlsson, ze schaakten samen voor de succesvolle Sollentuna SK club. In 2009 werd Berg lid van Burgsvik SK, spelend in de derde Zweedse divisie.
Berg nam vier keer deel aan de European Club Cup, in 2006 en 2007 met Sollentuna SK, in 2010 en 2011 met Oslo Schakselskap.[2]