The invention provides a method for making nanofibrillar cellulose with high absorptivity to fat and cholate. According to the invention, dietary fiber material is activated by steam flash explosion and hydrolyzed sequentially by xylanase, laccase and cellulase. Nanofibrillar cellulose is obtained by subjecting the hydrolyzed fiber to high pressure homogenization. Nanofibrillar cellulose is further modified by octenyl succinic anhydride or glycidyl methacrylate to increase its ability to absorb fat and cholate. The method of the invention is safe, clean and environment-friendly. It avoids using toxic reagents, strong acids and bases in the process of preparing nanofibrillar cellulose, making it safe to be used as dietary products. The nanofibrillar cellulose made by the invented method has an oil absorption rate of 20-35 g/g, a water absorption rate of 20-30 g/g, expansivity of 40-70 mL/g, and sodium deoxycholate absorption rate of 0.01-0.2 mmoL/100 mg.