善的祖父元乂是北魏侍中，父亲元稚舒是北魏秘书郎，元乂被诛杀后逃到南梁，官至征北大将军、青冀二州刺史。元善小时候随着父亲到江南，生性热爱学习，广泛涉猎五经，尤其通晓《左传》。到侯景之乱时，元善归附西魏，元善的叔祖元罗就将江阳王的爵位还给元善。北周建立后，周武帝宇文邕非常礼待元善，任命他出任太子宫尹，赐爵江阳县公，元善常常手执经书教授太子。开皇初年，元善担任内史侍郎，隋文帝杨坚常常看着他说：“道德的楷模啊。”元善凡有奏陈，文词气势抑扬顿挫，旁观者目不转睛。南陈使者袁雅来出使，隋文帝命令元善就旅馆中接受文书，袁雅