Née au château de Fotheringay dans le Northamptonshire en Angleterre, fille du 3ème duc d’York Richard d’York et de Cécile Neville. Sœur des rois Édouard IV et Richard III d’Angleterre, elle fut la 3ème et dernière épouse du duc de Bourgogne Charles le Téméraire.
Le 3 juillet 1468, elle épousa Charles de Valois Bourgogne, dit Charles le Téméraire, duc de Bourgogne à Damme en Flandre dans les Pays-Bas bourguignons, alors possession du duché de Bourgogne. Bien que l’union soit restée sans descendance, elle scelle un pacte d’alliance entre l’Angleterre et la Bourgogne.
Marguerite d’York n’ayant pas d’enfant. Elle reporte toute son affection maternelle sur la fille du précédent mariage du Téméraire, la duchesse Marie de Bourgogne qu’elle élève comme sa fille.
Devenue veuve de Charles le Téméraire en 1477, elle s’instaure protectrice de sa belle-fille et lui fait épouser le futur empereur germanique Maximilien 1er. A la mort de la duchesse Marie de Bourgogne en 1482, Marguerite d’York s’occupa personnellement de ses deux enfants Philippe 1er de Castille et Marguerite d’Autriche.
Elle décède le 23 novembre 1503 à Malines, aux Pays-Bas bourguignons, à l’âge de 57 ans.