Detwiler (9-6) handcuffed Chicago on four hits, allowing only one runner to reach third base while benefiting from a pair of inning-ending double plays.
The left-hander worked around three walks and struck out three for National League East-leading Washington, which took the opener of a four-game series.
Drew Storen tossed a scoreless eighth and Tyler Clippard earned his 30th save despite yielding a run on two hits in the ninth.
LaRoche popped a solo homer in the second inning, putting the Nats ahead to stay, while Ryan Zimmerman added an RBI double.
Cubs starter Jeff Samardjiza (8-13) took the hard-luck loss, surrendering just one run on seven hits over seven frames.
Wellington Castillo drove in Chicago's only run.
Man behind Doritos Locos Tacos passed away on Thanksgiving
Caroline Berg Eriksen: Soccer player's wife triggers debate with post-birth selfie