diff --git a/change/@office-iss-react-native-win32-2019-12-16-14-17-19-add-tm.json b/change/@office-iss-react-native-win32-2019-12-16-14-17-19-add-tm.json
new file mode 100644
index 00000000000..8cdb5f05a10
--- /dev/null
+++ b/change/@office-iss-react-native-win32-2019-12-16-14-17-19-add-tm.json
@@ -0,0 +1,8 @@
+{
+ "type": "minor",
+ "comment": "Add GetFacebookReactInstance :: uwp::Instance -> react::Instance",
+ "packageName": "@office-iss/react-native-win32",
+ "email": "zihanc@microsoft.com",
+ "commit": "f35ed1c42cd2a1d9ed098082bf97babe3bc9c8e6",
+ "date": "2019-12-16T22:16:35.515Z"
+}
\ No newline at end of file
diff --git a/change/react-native-windows-2019-12-16-14-17-19-add-tm.json b/change/react-native-windows-2019-12-16-14-17-19-add-tm.json
new file mode 100644
index 00000000000..d1e650fd768
--- /dev/null
+++ b/change/react-native-windows-2019-12-16-14-17-19-add-tm.json
@@ -0,0 +1,8 @@
+{
+ "type": "prerelease",
+ "comment": "Add GetFacebookReactInstance :: uwpInstance -> react::Instance",
+ "packageName": "react-native-windows",
+ "email": "zihanc@microsoft.com",
+ "commit": "f35ed1c42cd2a1d9ed098082bf97babe3bc9c8e6",
+ "date": "2019-12-16T22:17:19.866Z"
+}
\ No newline at end of file
diff --git a/change/react-native-windows-extended-2019-12-16-14-17-19-add-tm.json b/change/react-native-windows-extended-2019-12-16-14-17-19-add-tm.json
new file mode 100644
index 00000000000..aeb878f5555
--- /dev/null
+++ b/change/react-native-windows-extended-2019-12-16-14-17-19-add-tm.json
@@ -0,0 +1,8 @@
+{
+ "type": "none",
+ "comment": "Add GetFacebookReactInstance :: uwpInstance -> react::Instance",
+ "packageName": "react-native-windows-extended",
+ "email": "zihanc@microsoft.com",
+ "commit": "f35ed1c42cd2a1d9ed098082bf97babe3bc9c8e6",
+ "date": "2019-12-16T22:17:02.605Z"
+}
\ No newline at end of file
diff --git a/vnext/ReactUWP/EndPoints/dll/react-native-uwp.arm.def b/vnext/ReactUWP/EndPoints/dll/react-native-uwp.arm.def
index 4b945fd6e90..99a009884b3 100644
--- a/vnext/ReactUWP/EndPoints/dll/react-native-uwp.arm.def
+++ b/vnext/ReactUWP/EndPoints/dll/react-native-uwp.arm.def
@@ -55,3 +55,5 @@ xallocxWeak
??0TurboModule@react@facebook@@QAA@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$shared_ptr@VJSCallInvoker@react@facebook@@@4@@Z
??1TurboModule@react@facebook@@UAA@XZ
?get@TurboModule@react@facebook@@UAA?AVValue@jsi@3@AAVRuntime@53@ABVPropNameID@53@@Z
+?GetReactInstanceFromUwpInstance@uwp@react@@YA?AV?$shared_ptr@VInstance@react@facebook@@@std@@ABUInstance@12winrt@@@Z
+??0BridgeJSCallInvoker@react@facebook@@QAA@V?$weak_ptr@VInstance@react@facebook@@@std@@@Z
diff --git a/vnext/ReactUWP/EndPoints/dll/react-native-uwp.x64.def b/vnext/ReactUWP/EndPoints/dll/react-native-uwp.x64.def
index 31fc48763f6..9bbcd6b7f04 100644
--- a/vnext/ReactUWP/EndPoints/dll/react-native-uwp.x64.def
+++ b/vnext/ReactUWP/EndPoints/dll/react-native-uwp.x64.def
@@ -83,3 +83,5 @@ xallocxWeak
??0TurboModule@react@facebook@@QEAA@AEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$shared_ptr@VJSCallInvoker@react@facebook@@@4@@Z
??1TurboModule@react@facebook@@UEAA@XZ
?get@TurboModule@react@facebook@@UEAA?AVValue@jsi@3@AEAVRuntime@53@AEBVPropNameID@53@@Z
+?GetReactInstanceFromUwpInstance@uwp@react@@YA?AV?$shared_ptr@VInstance@react@facebook@@@std@@AEBUInstance@12winrt@@@Z
+??0BridgeJSCallInvoker@react@facebook@@QEAA@V?$weak_ptr@VInstance@react@facebook@@@std@@@Z
diff --git a/vnext/ReactUWP/EndPoints/dll/react-native-uwp.x86.def b/vnext/ReactUWP/EndPoints/dll/react-native-uwp.x86.def
index 249b4506b71..9ade8d4aa1f 100644
--- a/vnext/ReactUWP/EndPoints/dll/react-native-uwp.x86.def
+++ b/vnext/ReactUWP/EndPoints/dll/react-native-uwp.x86.def
@@ -83,3 +83,5 @@ xallocxWeak
??0TurboModule@react@facebook@@QAE@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$shared_ptr@VJSCallInvoker@react@facebook@@@4@@Z
??1TurboModule@react@facebook@@UAE@XZ
?get@TurboModule@react@facebook@@UAE?AVValue@jsi@3@AAVRuntime@53@ABVPropNameID@53@@Z
+?GetReactInstanceFromUwpInstance@uwp@react@@YA?AV?$shared_ptr@VInstance@react@facebook@@@std@@ABUInstance@12winrt@@@Z
+??0BridgeJSCallInvoker@react@facebook@@QAE@V?$weak_ptr@VInstance@react@facebook@@@std@@@Z
diff --git a/vnext/ReactUWP/ReactUWP.vcxproj b/vnext/ReactUWP/ReactUWP.vcxproj
index 12344b39868..d3cf6421f6c 100644
--- a/vnext/ReactUWP/ReactUWP.vcxproj
+++ b/vnext/ReactUWP/ReactUWP.vcxproj
@@ -166,6 +166,7 @@
+
@@ -267,6 +268,7 @@
+
diff --git a/vnext/ReactUWP/ReactUWP.vcxproj.filters b/vnext/ReactUWP/ReactUWP.vcxproj.filters
index 6c04e88d1b0..0d22c31026c 100644
--- a/vnext/ReactUWP/ReactUWP.vcxproj.filters
+++ b/vnext/ReactUWP/ReactUWP.vcxproj.filters
@@ -307,6 +307,9 @@
Utils
+
+ TurboModule
+
Views
@@ -627,6 +630,10 @@
Utils
+
+
+ TurboModule
+
Utils
@@ -707,6 +714,9 @@
{6d877886-1c5c-45b8-8eae-2e1354cf673e}
+
+ {174cd180-bab8-464e-9f7a-d2fac567f899}
+
diff --git a/vnext/ReactUWP/TurboModule/TurboModuleUtils.cpp b/vnext/ReactUWP/TurboModule/TurboModuleUtils.cpp
new file mode 100644
index 00000000000..91d2963b824
--- /dev/null
+++ b/vnext/ReactUWP/TurboModule/TurboModuleUtils.cpp
@@ -0,0 +1,21 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+
+#include "pch.h"
+#include
+#include
+#include "../ABI/Instance_rt.h"
+
+namespace react::uwp {
+
+std::shared_ptr __cdecl GetReactInstanceFromUwpInstance(
+ const winrt::react::uwp::Instance &uwpInstance) {
+ auto abiInstance = reinterpret_cast(winrt::get_abi(uwpInstance));
+ auto reactInstance = abiInstance->getInstance();
+ assert(reactInstance);
+ auto fbInstance = reactInstance->GetInnerInstance();
+ assert(fbInstance);
+ return fbInstance;
+}
+
+} // namespace react::uwp
diff --git a/vnext/include/ReactUWP/TurboModuleUtils.h b/vnext/include/ReactUWP/TurboModuleUtils.h
new file mode 100644
index 00000000000..2c4b45e1d15
--- /dev/null
+++ b/vnext/include/ReactUWP/TurboModuleUtils.h
@@ -0,0 +1,15 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+
+#pragma once
+
+#include
+
+namespace facebook::react {
+class Instance;
+}
+
+namespace react::uwp {
+extern std::shared_ptr __cdecl GetReactInstanceFromUwpInstance(
+ const winrt::react::uwp::Instance &uwpInstance);
+}