Nguyên liệu làm cơm lam bao gồm gạo, ống nứa (tre), lá chuối. Ngoài ra có thể còn có dừa nạo, nước cốt dừa, vừng trộn lẫn gạo trước khi nướng. Cũng đôi khi, tại một số vùng miền sắn, khoai, ngô, được chặt miếng nhỏ nhồi vào ống để nướng thay cho nguyên liệu chính là gạo.
Lấy gạo bỏ vào một chiếc ống giang một đầu hở, sau đó dùng lá chuối bịt kín lại rồi đốt. Nhưng nấu cơm lam thực ra không chỉ đơn giản như vậy. Ống giang dùng nấu cơm lam phải còn tươi để khi cơm chín, hạt cơm quyện thêm một chút vị ngọt và mùi đặc trưng của tre. Nứa thường được chọn giang bánh tẻ, non quá hay già quá đều không được.
Đốt lên một đống lửa, chờ thật đượm, sau đó đặt lên trên một chiếc kiềng và xếp các ống Lam trên đó. Trong khi nấu không quên xoay đi xoay lại những chiếc ống Lam như khi nướng bắp. Khoảng một tiếng đồng hồ thì ăn được. Thực tế, theo kinh nghiệm của những người dân tộc thì khi nghe mùi thơm từ ống Lam bay ra là biết cơm chín hay chưa mà không cần mở nắp.
Khi cơm chín, chẻ bỏ lớp cháy đen bên ngoài ống cơm thật khéo léo cho đến khi bao bọc phần ruột cơm chỉ là một lớp lạt giang mỏng. Xắt mỗi ống ra thành năm hay bảy khúc. Khi ăn chỉ cần bóc bỏ lớp lạt giang bên ngoài.
Cơm lam được dọn ra ăn cùng với thịt gà hay thịt lợn rừng nướng (những thứ thịt này cũng được nướng trong ống tre). Tuy nhiên, cơm lam ngon nhất khi ăn với muối vừng (mè)