先后撰写了《宜垦令》、《农书草稿》（北耕录）等书，为《农政全书》的编写打下了基础。万历四十四年（1616年），礼部侍郎沈㴶连上三道奏疏，请求查办天主教传教士，史称“南京教案”。徐光启上《辩学章疏》为传教士辩护。同年徐光启回京复职，次年任詹事府左春坊左赞善。不久病归天津，作《粪壅规则》。万历四十六年（1618年），后金大汗努尔哈赤发兵进犯关内，徐光启应召星夜入京。万历四十七年（1619年）明军在萨尔浒之战中战败，他多次上疏请求练兵，擢升少詹事兼河南道御史，在通州督练新军。但由于军饷、器械供应困难，