Fils du roi Saint Canut du Danemark, il participa à la première croisade. A son retour, il devint comte des Flandres, de Picardie et d’Artois. Sa bonté lui fit des amis chez les pauvres et sa justice lui attira la haine des grands de ce monde qui l’assassinèrent pendant la messe du mercredi des Cendres dans l’église Saint-Donatien de Bruges.Cette mort d’un homme pénétré de l’amour de Dieu fut considérée comme un martyre par la dévotion populaire. Son culte fut confirmé en 1883.
Après des débuts guerriers, Charles gagna rapidement une réputation de grande vertu et de générosité envers les pauvres, ce qui lui vaut son surnom de « bon ». Sa bonté s’exerçait sans affectation ; il est bon sans être faible, et naturellement fort pieux, même s’il est clairement conscient du rôle et de la place de chacun, fût-ce un religieux. On raconte que l’abbé de Saint-Bertin, ayant une plainte à formuler à propos d’une terre dont l’abbaye avait hérité par donation, s’étant présenté au comte le jour de l’Épiphanie, ce dernier lui fait reproche de n’être pas présent en son abbaye pour y célébrer et y chanter la messe, alors qu’un messager aurait suffi pour transmettre la plainte. Charles rend toutefois justice en sa faveur. Sa réputation est telle que le siège impérial et le trône de Jérusalem lui sont tour à tour proposés. Mais il décline ces deux offres, arguant qu’il préférait se consacrer au bonheur de ses sujets flamands.
Il fut adepte de la paix civile et sociale à l’intérieur du comté, s’interposant souvent dans les querelles diverses entre les abbayes et les bourgeois, s’oppose aux accapareurs de grain dans les périodes d’inflation.
L’hiver 1126-1127 fut particulièrement rigoureux en Flandre : tous les blés de la contrée gelèrent. Charles prend, pendant cette période de famine, des mesures de salut public qui se révèlent efficaces. Il empêche que le grain soit vendu à des prix excessifs, ordonne que la moitié des semis à planter soient des semis de pois et de fèves, qui arrivent à maturité plus rapidement que les blés, visite les greniers des riches et organise la distribution de leurs grains en les vendant à coût modéré, faisant reverser le bénéfice à leurs propriétaires légitimes. Il distribue pain et argent, et interdit la fabrication de la bière.
Ses meurtriers, des marchands de la lignée du chancelier Bertholf, son neveu Burchard en tête, avaient été mécontentés à plusieurs reprises par la justice du comte, rendue en leur défaveur. Ils sont impitoyablement pourchassés et exécutés. Les chroniqueurs voient dans cet assassinat la punition de la branche cadette de Flandre qui avait évincé la branche aînée plus d’un demi-siècle auparavant. Le corps de géant du comte (il mesurait, dit-on, neuf pieds de haut, qui équivaudrait à environ 2,75 mètres) est inhumé dans la sacristie de Saint-Donat, puis transféré bien plus tard, le 26 novembre 1606 par l’évêque de Bruges, Philippe de Rodoan, dans la partie supérieure de l’église. Une messe est dite depuis cette date tous les ans en son honneur.