diff --git a/types/node/stream.d.ts b/types/node/stream.d.ts
index 84ce0ea9b551da7..306ddf66384d349 100644
--- a/types/node/stream.d.ts
+++ b/types/node/stream.d.ts
@@ -1,3 +1,5 @@
+/// <reference lib="es2018.asynciterable" />
+
 declare module "stream" {
     import * as events from "events";
 
@@ -18,6 +20,7 @@ declare module "stream" {
         }
 
         class Readable extends Stream implements NodeJS.ReadableStream {
+            static from(iterable: Iterable<any> | AsyncIterable<any>, opts?: ReadableOptions): NodeJS.ReadableStream;
             readable: boolean;
             readonly readableHighWaterMark: number;
             readonly readableLength: number;
diff --git a/types/node/test/stream.ts b/types/node/test/stream.ts
index 892f5a0fca1fa7c..f303f30487011d4 100644
--- a/types/node/test/stream.ts
+++ b/types/node/test/stream.ts
@@ -192,3 +192,17 @@ function stream_readable_pipe_test() {
     z.close();
     rs.close();
 }
+
+async function readable_from() {
+    const list = [ 1, 2, 3 ];
+    const listPromise = list.map(n => Promise.resolve(n));
+
+    const readableSync = Readable.from(list);
+    const readableAsync = Readable.from(listPromise);
+
+    let i = 0;
+    readableSync.on('data', n => assert(n === list[i++]));
+
+    let j = 0;
+    readableAsync.on('data', n => assert(n === list[j++]));
+}