Faits: A. A.X._, ressortissant kosovar né en 1975, est arrivé en Suisse le 5 mars 1993. Sa demande d'asile du 10 mars 1993 a été rejetée le 3 juin 1993. Il a toutefois fait l'objet d'une admission provisoire jusqu'en 1998, date à laquelle le Conseil fédéral a décidé de lever l'admission provisoire collective des déserteurs et réfractaires provenant de l'ex-Yougoslavie. Un délai au 15 janvier 1999 lui a été imparti pour quitter le pays. Le 26 février 1999, l'intéressé a épousé une Suissesse, B._, et a de ce fait obtenu une autorisation de séjour, régulièrement renouvelée jusqu'au 25 février 2005. Le 30 novembre 2000, B._ a déposé une demande unilatérale de divorce, à laquelle son époux s'est opposé. Elle s'est constitué un domicile séparé dès le 31 décembre 2000. Le 7 mai 2001, le Tribunal civil de la Glâne a autorisé la séparation de corps des époux X._. Le 27 novembre 2001, B._ a déposé un nouvelle demande unilatérale de divorce et le 23 décembre 2001, elle a donné naissance à une fille issue de la relation qu'elle avait entre-temps nouée avec un tiers. Le 24 février 2002, C._, ressortissante kosovare née en 1984, enceinte de A.X._, est entrée en Suisse et y a demandé l'asile. Sa requête a été rejetée par l'Office fédéral des migrations (ci-après: l'Office fédéral) puis par la Commission de recours en matière d'asile, tant en procédure ordinaire, les 18 mars et 3 juillet 2002, que sur réexamen, les 13 mars et 16 mai 2003. Le 27 septembre 2002, l'intéressée a accouché d'un fils, D._, reconnu par A.X._ le 19 août 2004. Par jugement du 8 septembre 2004, le Tribunal d'arrondissement de la Sarine a prononcé le divorce des époux X._. B. Le 7 janvier 2005, A.X._ a épousé C._ et a déposé, le 28 janvier 2005, une demande de regroupement familial en faveur de sa femme et de son fils. Le 20 juin 2005, le Service cantonal a refusé de renouveler l'autorisation de séjour de l'intéressé et d'autoriser le séjour de C.X._ et A.X._. Les intéressés ont recouru contre cette décision auprès du Tribunal administratif du canton de Fribourg (ci-après: le Tribunal cantonal), qui a admis leur recours le 29 mars 2006. De ce fait, le Service cantonal a informé la famille X._ qu'il était disposé à autoriser leur séjour en Suisse, sous réserve de l'approbation de l'Office fédéral. Par décision du 23 août 2006, l'Office fédéral a refusé son approbation à la prolongation de l'autorisation de séjour de A.X._ et a prononcé son renvoi de Suisse. Il n'est pas entré en matière sur la demande d'approbation à l'octroi d'une autorisation de séjour initiale en faveur de C.X._ et D.X._, en raison du rejet de leur demande d'asile et en l'absence d'un droit à une autorisation de séjour. Le renvoi de Suisse de ces derniers a été exécuté le 3 mars 2007. C. Par arrêt du 15 septembre 2008, le Tribunal administratif fédéral a rejeté le recours de A.X._ contre la décision de l'Office fédéral du 23 août 2006, dans la mesure où il était recevable. Il a considéré pour l'essentiel que l'Office fédéral n'était pas lié par les décisions des autorités cantonales et pouvait parfaitement s'écarter de l'appréciation de ces dernières; il n'avait donc pas violé le principe de la séparation des pouvoirs. Par ailleurs, l'intéressé commettait un abus de droit en se prévalant d'un mariage qui n'existait plus que formellement, avant l'écoulement du délai de cinq ans, dans le seul but d'obtenir une autorisation de séjour. En outre, l'Office fédéral n'avait pas outrepassé son pouvoir d'appréciation en refusant de donner son approbation à la prolongation de l'autorisation sollicitée. D. Agissant par la voie du recours en matière de droit public, A.X._ demande au Tribunal fédéral, sous suite de frais et dépens, d'annuler l'arrêt du Tribunal administratif fédéral du 15 septembre 2008 et d'approuver la prolongation de son autorisation de séjour. Il fait valoir une constatation inexacte des faits et une mauvaise application du droit fédéral. Il se plaint en outre de la violation de son droit d'être entendu. A l'appui de ses griefs, il invoque également l'art. 8 par. 1 CEDH. Le Tribunal administratif fédéral a renoncé à prendre position sur le recours. L'Office fédéral a proposé le rejet du recours. Le 5 janvier 2009, le Service cantonal a fait parvenir son dossier. 