Il joue pendant trois saisons avec les Wildcats de l'Université du Kentucky. Après une première saison où sa moyenne de points est de 8,7 et une deuxième où il ne joue que onze matchs, il profite du départ de Joe Crawford, qui vient de terminer son année seniore, pour prendre de l'importance au sein de son équipe, sa moyenne de points progressant de 8 points à 23[1].
Carrière professionnelle
Bucks de Milwaukee (2009-Fév.2010)
Il décide de se présenter à la Draft 2009 de la NBA. Il est retenu en quarante-et-unième position par les Bucks de Milwaukee. Ses statistiques, 4,1 points, 1,8 rebond et 0,5 passe en un peu moins de douze minutes ne satisfont pas les Bucks qui décide de l'échanger en février.
76ers de Philadelphie (Fév.2010-2012)
Il rejoint la franchise des 76ers de Philadelphie[2]. où il termine la saison avec une moyenne de 5,9 points, soit une moyenne sur la saison de 4,7.
Lors de la saison suivante, son temps de jeu augmente de plus de dix minutes et cela se ressent dans ses statistiques (sa moyenne de points étant désormais de 10,5 points). Il devient un joueur important de l'équipe, débutant 64 des 74 rencontres de saison régulière qu'il dispute.
Le , il bat son record de points en carrière lors de la victoire de son équipe face au Thunder d'Oklahoma City : 42 points avec un 6 sur 11 à trois points[3].
Pistons de Détroit (2014-2016)
Le , il s'engage avec les Pistons de Détroit pour un contrat de 19 millions pour 3 années[4]. Durant la présaison, il souffre d'une blessure de fatigue dans le bas du dos et doit manquer deux mois de compétition[5]. Le , il reprend les entraînements[6]. Le , il fait ses débuts avec les Pistons et sur les parquets pour la saison 2014-2015 lors d'un déplacement chez les Suns de Phoenix, où les Pistons s'imposent 105 à 103 et Meeks marque 12 points en 22 minutes de jeu[7].
Le , lors du second match de la saison 2015-2016 des Pistons de Détroit, il se fait une fracture de Jones au pied[8], son absence est estimée entre trois et quatre mois[9]. En , il rechute et doit prolonger son absence des parquets[10]. Le , pour le dernier match de la saison, il fait son retour sur les parquets contre les Cavaliers de Cleveland et terminent la rencontre avec 20 points, 3 rebonds et 3 passes décisives en 27 minutes.
Le , il est suspendu 25 matches pour ne pas avoir respecté les règles anti-dopages de la NBA[13].
Le , il est envoyé aux Bucks de Milwaukee puis coupé le , une fois tous les matchs de suspension purgés[14].
Raptors de Toronto (2019)
Le , il signe un contrat de 10 jours avec les Raptors de Toronto[15]. Le , à l'issue de son contrat, il n'est pas prolongé par la franchise canadienne[16]. Le , la franchise canadienne le signe à nouveau, cette fois-ci jusqu'à la fin de la saison[17].
Il devient champion NBA avec les Raptors à l'issue de la saison.