Faits :
A.
C.B._ est propriétaire de la parcelle n° 3061 de la commune de Bagnes (d'une surface de 1'105 m 2), colloquée en zone touristique de moyenne densité T3 selon le plan d'affectation des zones et le règlement de construction (RCC). Cette parcelle est attenante au bien-fonds n° 3062, propriété de A.A._ qui a succédé aux membres de la communauté héréditaire de feu son époux D.A._ (ci-après: communauté héréditaire).
Les parcelles n° s 3061 et 3062 sont sises en bordure aval de la route cantonale (parcelle n° 5092, appelée route du Golf). Par décision du 10 juin 2015, le Conseil d'Etat a vendu à C.B._ une surface de 55 m 2 à détacher de la parcelle n° 5092.
B.B._ et C.B._ ont déposé une demande d'autorisation de construire un garage double non chauffé (dimension 6.2 sur 6.32 mètres) au Nord de leur chalet, accolé à la cuisine existante; les murs du garage - qui aurait deux fenêtres et une porte sur la façade Est - seraient en béton et les encadrements en bois. Le projet prévoit également l'aménagement de deux places de parc non couvertes sur le toit dudit garage. Mis à l'enquête publique le 7 novembre 2014, le projet a suscité l'opposition de la communauté héréditaire.
Par décision du 20 août 2015, la Commune de Bagnes a délivré le permis de construire et a levé l'opposition de la communauté héréditaire A._, précisant que les conditions fixées dans le rapport de synthèse des prises de position des organes consultés du 23 juin 2015 faisaient partie intégrante de l'autorisation et qu'aucun stationnement ne sera autorisé sur la parcelle n° 5092.
B.
Par acte du 3 septembre 2015, la communauté héréditaire a porté la cause devant le Conseil d'Etat, qui a rejeté le recours par décision du 23 novembre 2016. Sur recours, la Cour de droit public du Tribunal cantonal du Valais a confirmé cette décision, par arrêt du 7 avril 2017. Elle a notamment considéré que la Commune et le Conseil d'Etat avaient, à juste titre, considéré que le garage en question n'était pas de nature à compromettre l'aspect du site. La cour cantonale relevait notamment que le site environnant ne présentait pas des qualités esthétiques particulières et que la zone touristique en question comportait déjà de nombreux chalets auxquels étaient accolés des garages identiques; par ailleurs, la construction du garage dans la continuité du chalet existant favorisait son intégration, tout comme l'utilisation d'une teinte et des matériaux similaires à ceux du chalet.
C.
Agissant par la voie du recours en matière de droit public, A.A._ demande au Tribunal fédéral d'annuler l'arrêt attaqué et de renvoyer la cause à l'instance précédente pour nouvelle décision dans le sens des considérants.
Le Tribunal cantonal et le Conseil d'Etat renoncent à se déterminer. Aux termes de leur réponse respective, la Commune et les intimés concluent au rejet du recours, dans la mesure de sa recevabilité.

Considérant en droit :
1.
Dirigé contre une décision finale (<ref-law>) prise en dernière instance cantonale (art. 86 al. 1 let. d LTF) dans le domaine du droit public des constructions (<ref-law>), le recours est en principe recevable comme recours en matière de droit public selon les <ref-law>, aucune des exceptions prévues à l'<ref-law> n'étant réalisée. La recourante a pris part à la procédure de recours devant la cour cantonale. Elle est particulièrement touchée par l'arrêt attaqué qui confirme l'autorisation de construire - sur la parcelle directement voisine de la sienne - un garage dont elle critique l'intégration au site construit. Elle peut ainsi se prévaloir d'un intérêt personnel et digne de protection à l'annulation de l'arrêt attaqué. Elle a dès lors qualité pour agir au sens de l'<ref-law>.
2.
Saisi d'un recours en matière de droit public, le Tribunal fédéral examine librement la violation du droit fédéral (cf. art. 95 let. a et 106 al. 1 LTF). En revanche, il n'apprécie la violation des droits fondamentaux, y compris l'application arbitraire des dispositions de droit cantonal, que si ce grief a été invoqué et motivé conformément au principe d'allégation (<ref-law>). La partie recourante doit ainsi mentionner les principes constitutionnels qui n'auraient pas été respectés et expliquer de manière claire et précise en quoi ces principes auraient été violés; de même, elle doit citer les dispositions du droit cantonal dont elle se prévaut et démontrer en quoi ces dispositions auraient été appliquées arbitrairement ou d'une autre manière contraire au droit (cf. <ref-ruling> consid. 2.1 p. 372; <ref-ruling> consid. 1.3 p. 41).
Appelé à revoir l'interprétation d'une norme cantonale sous l'angle restreint de l'arbitraire, le Tribunal fédéral ne s'écarte de la solution retenue par l'autorité cantonale de dernière instance que si celle-ci apparaît insoutenable, en contradiction manifeste avec la situation effective, adoptée sans motifs objectifs et en violation d'un droit certain. En revanche, si l'application de la loi défendue par l'autorité cantonale ne s'avère pas déraisonnable ou manifestement contraire au sens et au but de la disposition ou de la législation en cause, cette interprétation sera confirmée, même si une autre solution - même préférable - paraît possible (<ref-ruling> consid. 2.4 p. 5; <ref-ruling> consid. 4.2 p. 560).
3.
Invoquant l'arbitraire, la recourante reproche tout d'abord à l'instance précédente de s'être trompée à plusieurs reprises dans l'appréciation et l'établissement des faits pertinents.
3.1. Le Tribunal fédéral statue sur la base des faits établis par l'autorité précédente (<ref-law>), sauf s'ils ont été établis de façon manifestement inexacte - notion qui correspond à celle d'arbitraire au sens de l'art. 9 Cst. (<ref-ruling> consid. 2.3 p. 266) - ou en violation du droit au sens de l'<ref-law> (<ref-law>). Si la partie recourante entend s'écarter de ces constatations de fait, elle doit expliquer de manière circonstanciée en quoi les conditions de l'<ref-law> seraient réalisées et la correction du vice susceptible d'influer sur le sort de la cause (cf. <ref-law>; <ref-ruling> consid. 5.2.2 p. 322 s.). A défaut, il n'est pas possible de tenir compte d'un état de fait divergent de celui qui est contenu dans l'arrêt attaqué. En particulier, le Tribunal fédéral n'entre pas en matière sur des critiques appellatoires portant sur l'établissement des faits ou l'appréciation des preuves (<ref-ruling> consid. 10.1 p. 444 et les arrêts cités).
3.2. La recourante fait tout d'abord grief à l'instance précédente de ne pas avoir retenu qu'un nouvel accès à la route avait été créé; selon elle, il ne s'agirait pas d'une modification de l'accès existant, mais d'un ajout. Elle lui reproche également d'avoir inversé la chronologie des achats de terrain, ainsi que les arguments des parties concernant le non-respect de la distance aux limites de propriété. Enfin, l'intéressée fait grief à la cour cantonale de ne pas avoir constaté l'ampleur des travaux de comblement à effectuer en façades du garage et d'avoir ignoré que les plans déposés et autorisés étaient incomplets sur ce point.
La recourante n'explique cependant pas, comme il lui appartenait de le faire, en quoi ces constatations de fait seraient susceptibles d'influer sur le sort de la cause. Ses critiques liées à l'établissement des faits sont dès lors irrecevables. De plus, les deux premières constatations se rapportent au grief tiré de l'inobservation de la distance aux limites, grief examiné par l'instance précédente dans l'arrêt entrepris. Or, dans la mesure où les recourants ne soulèvent pas ce moyen devant le Tribunal fédéral, les éléments de fait litigieux apparaissent sans pertinence pour l'issue du litige. Quant au constat concernant l'ampleur des travaux de comblement et le caractère incomplet des plans, il n'apparaît pas non plus décisif dès lors que l'unique grief soulevé, sur le fond, par la recourante - concernant l'intégration de la construction projetée - est, comme on le verra ci-dessous, irrecevable.
4.
Sur le fond, dans un second moyen intitulé "l'intégration", la recourante soutient que la création d'un garage avec parking en toiture serait exceptionnelle dans la commune et défigurerait le tissu bâti environnant. Selon elle, la Commune aurait dérogé à sa pratique qui interdirait "le parcage en toiture". Ce grief apparaît d'emblée irrecevable. En effet, à l'appui de sa critique, la recourante ne mentionne pas la moindre disposition constitutionnelle ou légale; elle n'invoque en particulier aucune disposition de droit cantonal ou communal qui aurait été appliquée de façon arbitraire. Elle ne motive pas non plus son grief de façon conforme aux exigences en la matière s'agissant de l'application du droit cantonal et communal relatif à l'esthétique et à l'intégration des bâtiments (cf. supra consid. 2).
5.
Les considérants qui précèdent conduisent à l'irrecevabilité du recours, aux frais de la recourante qui succombe (art. 65 et 66 al. 1 LTF). Les intimés qui obtiennent gain de cause avec l'assistance d'un avocat ont droit à des dépens (<ref-law>).

Par ces motifs, le Tribunal fédéral prononce :
1.
Le recours est irrecevable.
2.
Les frais judiciaires, arrêtés à 2'000 fr., sont mis à la charge de la recourante.
3.
Une indemnité de dépens de 2'000 fr. est allouée aux intimés, solidairement entre eux, à la charge de la recourante.
4.
Le présent arrêt est communiqué aux mandataires des parties et de la Commune de Bagnes, au Conseil d'Etat du canton du Valais et au Tribunal cantonal du canton du Valais, Cour de droit public.
Lausanne, le 14 novembre 2017
Au nom de la Ire Cour de droit public
du Tribunal fédéral suisse
Le Président : Merkli
La Greffière : Arn