diff --git a/CHANGELOG.md b/CHANGELOG.md
index 0b7518b..9071526 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,3 +1,7 @@
+## 2.4.0
+
+* Add `StreamGroup.mergeBroadcast()` utility.
+
 ## 2.3.0
 
 * Implement `RestartableTimer.tick`.
diff --git a/lib/src/stream_group.dart b/lib/src/stream_group.dart
index d647ce3..1a6d15d 100644
--- a/lib/src/stream_group.dart
+++ b/lib/src/stream_group.dart
@@ -49,7 +49,7 @@
   /// re-subscribed.
   final _subscriptions = Map<Stream<T>, StreamSubscription<T>>();
 
-  /// Merges the events from [streams] into a single (single-subscriber) stream.
+  /// Merges the events from [streams] into a single single-subscription stream.
   ///
   /// This is equivalent to adding [streams] to a group, closing that group, and
   /// returning its stream.
@@ -60,6 +60,17 @@
     return group.stream;
   }
 
+  /// Merges the events from [streams] into a single broadcast stream.
+  ///
+  /// This is equivalent to adding [streams] to a broadcast group, closing that
+  /// group, and returning its stream.
+  static Stream<T> mergeBroadcast<T>(Iterable<Stream<T>> streams) {
+    var group = StreamGroup<T>.broadcast();
+    streams.forEach(group.add);
+    group.close();
+    return group.stream;
+  }
+
   /// Creates a new stream group where [stream] is single-subscriber.
   StreamGroup() {
     _controller = StreamController<T>(
diff --git a/pubspec.yaml b/pubspec.yaml
index b1013ac..aec53cf 100644
--- a/pubspec.yaml
+++ b/pubspec.yaml
@@ -1,5 +1,5 @@
 name: async
-version: 2.3.0
+version: 2.4.0
 
 description: Utility functions and classes related to the 'dart:async' library.
 author: Dart Team <misc@dartlang.org>
diff --git a/test/stream_group_test.dart b/test/stream_group_test.dart
index 3c4a3a8..96b19db 100644
--- a/test/stream_group_test.dart
+++ b/test/stream_group_test.dart
@@ -435,6 +435,23 @@
 
     expect(merged.toList(), completion(unorderedEquals(["first", "second"])));
   });
+
+  test("mergeBroadcast() emits events from all components streams", () {
+    var controller1 = StreamController<String>();
+    var controller2 = StreamController<String>();
+
+    var merged =
+        StreamGroup.mergeBroadcast([controller1.stream, controller2.stream]);
+
+    controller1.add("first");
+    controller1.close();
+    controller2.add("second");
+    controller2.close();
+
+    expect(merged.isBroadcast, isTrue);
+
+    expect(merged.toList(), completion(unorderedEquals(["first", "second"])));
+  });
 }
 
 void regardlessOfType(StreamGroup<String> newStreamGroup()) {
