Ở góc phố nghèo có một ngôi nhà cao, hẹp và xiêu vẹo. Trên căn gác áp mái, ngoài khung cửa sổ nhỏ treo một chiếc lồng chim cũ. Cốc nước của chú chim sẻ đồng trong lồng chỉ là một chiếc cổ chai vỡ, úp ngược, có nút bấc bịt lại cho khỏi chảy nước. Chú chim nhảy nhót hót vang. Chiếc cổ chai nghĩ thầm: “Ừ, chú cứ hót đi. Chú còn nguyên vẹn mà. Tôi thì chỉ còn mỗi cái cổ. Ngày trước, tôi cũng từng có một cuộc đời đáng kể lắm.” Rồi nó lặng lẽ nhớ lại chuyện đời mình.
Nó sinh ra trong lò lửa rực của xưởng thủy tinh, được rót đầy thứ rượu vang ngon nhất, đóng nút, gắn xi đỏ. Một sáng, cậu học việc nhà bác thợ lông thú mua nó về. Cô con gái bác, mắt nâu cười lúng liếng, tự tay xếp nó vào giỏ đồ ăn dã ngoại. Cả nhà đánh xe vào rừng xanh. Ngồi cạnh cô là chàng phó thuyền trẻ, sáng mai chàng sẽ lên tàu đi xa. Đôi trai gái dắt nhau dạo trong rừng. Lúc trở về, ai cũng cười, má cô gái đỏ hồng như hai bông hồng.
Ông bố rút nút chai, rót rượu ra cốc: “Chúc mừng đôi trẻ đính hôn!” Chàng phó thuyền rót thêm: “Mong tôi về bình an, và đúng ngày này năm sau, chúng ta làm đám cưới!” Rồi chàng nâng cái chai lên cao: “Mi đã có mặt trong ngày hạnh phúc nhất đời ta. Không ai được dùng mi nữa!” Nói xong, chàng ném nó vút lên trời. Cô gái tưởng chẳng bao giờ thấy lại cái chai. Nhưng nó rơi vào đám lau sậy bên một hồ nhỏ trong rừng, nằm đó rất lâu, vẫn nghe vọng lại tiếng cười nói hát ca.
Hai cậu bé nhà nông nhặt được cái chai mang về. Anh cả của chúng là thủy thủ Peter Jensen sắp đi biển xa. Bà mẹ rót vào chai thứ nước thảo dược chữa đau bụng, gói cùng đồ đạc gửi theo con. Thật trùng hợp, Peter lên đúng con tàu của chàng phó thuyền trẻ, nhưng chàng chẳng nhận ra cái chai năm nào. Trên tàu, ai đau bụng, Peter lại lấy chai ra chia cho, nên mọi người gọi nó là “ông lang”. Hết thuốc, cái chai được cọ nút kêu ken két như tiếng chim, ai cũng gọi là “chú sơn ca của Peter Jensen”.
Rồi một cơn bão dữ nổi lên. Cột buồm gãy, nước tràn vào khoang, con tàu không chống nổi nữa. Chàng phó thuyền vội viết lên mảnh giấy tên người yêu, tên mình và tên con tàu, nhét vào cái chai rỗng gần nhất, đóng nút thật chặt, ném xuống biển. Chàng đâu biết đó chính là cái chai ngày đính hôn. Con tàu cùng các thủy thủ không bao giờ trở về. Còn cái chai mang lời từ biệt của chàng trôi mãi hơn một năm, tới một xứ lạ. Người ở đó vớt lên, chẳng ai đọc được chữ. Lá thư mờ dần, rồi cái chai bị cất lên gác xép, nằm phủ bụi suốt hai mươi năm.
Khi ngôi nhà được sửa lại, người ta tìm thấy cái chai, rửa sạch, nhưng lá thư cũng trôi mất theo nước. Họ đổ đầy hạt giống vào chai, gói kỹ gửi đi xa. Khi được mở ra, cái chai mừng rỡ vì nghe đúng thứ tiếng quê nhà, thứ tiếng nó từng nghe trong xưởng lửa, trong rừng xanh và trên tàu. Nó lại được đựng rượu, rồi bán cho một người lái khinh khí cầu. Hôm ấy, nhạc rộn ràng, cả nghìn người reo hò. Khinh khí cầu bay lên, người lái thả một chú thỏ xuống bằng dù, nâng chai uống mừng mọi người, rồi ném nó vút lên trời.
Cái chai rơi trúng mái nhà, vỡ tan, chỉ còn cái cổ nguyên vẹn. Người ta gắn nút bấc, đem lên tặng bà cô già trên gác áp mái làm cốc nước cho chú chim. Chính bà đã đứng bên cửa sổ xem khinh khí cầu. Hôm ấy, có người bạn tới chơi. Bà chỉ chậu cây hương đào bên cửa: “Bà đừng mua hoa cưới cho con gái. Tôi sẽ cắt hoa hương đào này cho cháu. Cây mọc từ cành hương đào người ta tặng tôi ngày đính hôn. Đám cưới của tôi chẳng bao giờ tới, người tôi thương đã ngủ yên dưới đáy biển sâu.” Bà rơm rớm nước mắt. Bà không biết rằng ngay bên khung cửa, chiếc cổ chai từng reo vui trong ngày đính hôn của bà. Và chiếc cổ chai cũng chẳng nhận ra bà.