Các dân tộc miền núi phía Bắc như Tày, Nùng, Mường, Dao, Thái… trong những chuyến đi rừng dài ngày thường mang theo gạo, dao quắm và đá đánh lửa. Đến bữa ăn, họ chặt ống nứa tươi sẵn có trong rừng, bỏ gạo vào và nướng ống nứa cho đến khi gạo chín mềm và thơm phức.
Để có được món cơm lam, người ta đem ngâm gạo trong nước vài giờ đồng hồ để khi lam hạt cơm sẽ chín rền hơn, dùng ống nứa hoặc ống tre non vừa trải qua thời kỳ măng để làm. Loại ống nứa hoặc tre non này mỗi cây chỉ chặt được khoảng 3 đến 4 ống, mỗi ống dài độ 30cm.
Người ta dồn gạo đã ngâm vào ống, cứ ba phần gạo, hai phần nước, bớt lại khoảng 5cm gần miệng ống để khi gạo nở sẽ kín đầy cả ống, rồi nút lại bằng thứ lá chuối non vừa chặt về và đã hơ qua lửa cho mềm.
Màu sắc trên ống nứa qua lửa có thể cho người làm lam nhận biết chính xác được mức độ chín của thức ăn. Khi ống nứa cháy sém bên ngoài, người ta đem ra chẻ dần phần nứa cháy đi, cho đến khi chỉ còn thỏi cơm bọc trong lớp “áo lụa” của nứa non. Nếu bẻ miếng cơm lam ra, bạn sẽ thấy những hạt gạo căng mẩy ngà ngọc với mùi hương thơm ngọt khi chấm với muối vừng sẽ phải gật gù rằng đây thực sự là một thứ đặc sản khó quên.
Ngoài cơm lam, người ta còn có cả cá lam, chim lam, rau quả lam... Và các món đồ ăn lam đã được công nhận là một nghệ thuật tinh tế đặc biệt của các dân tộc miền núi phía bắc.