The present invention provides a method of generating megakaryocytes and platelets. In various embodiments, method involves the use of human embryonic stem cell derived hemangioblasts for differentiation into megakaryocytes and platelets under serum and stromal-free condition. In this system, hESCs are directed towards megakaryocytes through embryoid body formation and hemangioblast differentiation. Further provided is a method of treating a subject in need of platelet transfusion.